34,590
社区成员
发帖
与我相关
我的任务
分享
CREATE TABLE A001(ID INT PRIMARY KEY,NAME NVARCHAR(20))
CREATE TABLE A002(ID1 INT REFERENCES A001(ID)ON DELETE CASCADE ON UPDATE CASCADE,ID2 INT
,AGE TINYINT PRIMARY KEY(ID1,ID2))
CREATE TABLE A004(ID INT PRIMARY KEY,NAME VARCHAR(20))
CREATE TABLE A003(ID1 INT REFERENCES A004(ID) ON DELETE CASCADE ON UPDATE CASCADE,ID2 INT REFERENCES A004(ID),AGE TINYINT)
这样就可以了。CREATE TABLE A001(ID INT PRIMARY KEY,NAME VARCHAR(20))
insert a001 select 1,'a'
insert a001 select 2,'b'
CREATE TABLE A002(ID INT REFERENCES A001(ID)ON DELETE CASCADE ON UPDATE CASCADE,AGE TINYINT)
insert a002 select 1,10
insert a002 select 1,20
delete from a001 where id=1
select * from a001
/*
ID NAME
----------- --------------------
2 b
(1 行受影响)
*/
select * from a002
/*
ID AGE
----------- ----
(0 行受影响)
*/
drop table a001,a002
SQL级联删除与级联更新使用格式:
CREATE TABLE A001(ID INT PRIMARY KEY,NAME VARCHAR(20))
CREATE TABLE A002(ID INT REFERENCES A001(ID)ON DELETE CASCADE ON UPDATE CASCADE,AGE TINYINT)