有两张表:A表,B表,A表的主键是B表的外键。小弟现在想对A和B两张表添加和删除数据,sql该怎么写
展开全部
--创建表
CREATE TABLE a( id INT IDENTITY(1,1) NOT NULL, data VARCHAR(200) NULL)
CREATE TABLE b( id INT IDENTITY(1,1) NOT NULL, aid INT NOT NULL, data ARCHAR(200) NULL)
--创建主外键关系
alter table a Add constraint aid primary key (Id)
alter table b Add constraint bid primary key (Id)
alter table b Add constraint aaid foreign key (aid) references a(Id)
--插入用存储过程
CREATE PROCEDURE insertAB
@adata AS VARCHAR(200),--A表DATA
@bdata AS VARCHAR(200) --B表DATA
AS
BEGIN
DECLARE @maxID INT
SET @maxID = (SELECT MAX(id) FROM a)
INSERT INTO a (data) values (@adata)
INSERT INTO b (aid,data) VALUES (@maxID+1,@bdata)
end
插入数据的时候使用
EXEC dbo.insertAB @adata = 'adata',@bdata = 'bdata'
的方式插入
CREATE TABLE a( id INT IDENTITY(1,1) NOT NULL, data VARCHAR(200) NULL)
CREATE TABLE b( id INT IDENTITY(1,1) NOT NULL, aid INT NOT NULL, data ARCHAR(200) NULL)
--创建主外键关系
alter table a Add constraint aid primary key (Id)
alter table b Add constraint bid primary key (Id)
alter table b Add constraint aaid foreign key (aid) references a(Id)
--插入用存储过程
CREATE PROCEDURE insertAB
@adata AS VARCHAR(200),--A表DATA
@bdata AS VARCHAR(200) --B表DATA
AS
BEGIN
DECLARE @maxID INT
SET @maxID = (SELECT MAX(id) FROM a)
INSERT INTO a (data) values (@adata)
INSERT INTO b (aid,data) VALUES (@maxID+1,@bdata)
end
插入数据的时候使用
EXEC dbo.insertAB @adata = 'adata',@bdata = 'bdata'
的方式插入
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |