⑴ 如何在sql中实现级联删除
比如,你要删帖子号为X的话,先删回复表中所有帖子号为X的回复,再删帖子表里帖子号为X的帖子。
语法么就是:delete from 表名 where 帖子号=X
或者 你设置一个触发器(trigger),当删除帖子表中的帖子前,回复表里该帖子的回复也删掉(注意触发器的时间要定在贴子表中删除帖子前删除回复,因为回复表中的帖子号是外键)。
⑵ sql级联删除,及联更新
alter table Borrow
Add constraint fk_Borrow_BorrowNo
Foreign key( BorrowNo) references BoroowList (BNo)
on update cascade --级联更新
on delete cascade --级联删除
⑶ SQL 怎么级联删除语句
级联删除在建表的时候就应该指定。
⑷ SQL如何同时设置更新删除级联
级联删除你可以把它认为是一个触发器,也就是你删除主表中的数据,那么从表中的相关联的也就一起删除了。。。看个例子:======================create table a
(
id varchar(20) primary key,
password varchar(20) not null
)
create table b
(
id int identity(1,1) primary key,
name varchar(50) not null,
userId varchar(20),
foreign key (userId) references a(id) on delete cascade
)
表B创建了外码userId 对应A的主码ID,声明了级联删除
测试数据:
insert a values ('11','aaa')
insert a values('23','aaa')
insert b values('da','11')
insert b values('das','11')
insert b values('ww','23')
删除A表内id为‘11’的数据,发现B表内userId 为“11”也被数据库自动删除了,这就是级联删除
delete a where id='11'=============================================================级联更新也大同小异。。只是关键字为:on update希望回答对你有所帮助........
⑸ sql server中如何级联删除
可以用下边的方法,仅供参考:
--创建测试主表.ID是主键.
CREATETABLEtest_main(
idINTNOTNULL,
valueVARCHAR(10),
PRIMARYKEY(id)
);
--创建测试子表.
CREATETABLEtest_sub(
idINTNOTNULL,
main_idINT,
valueVARCHAR(10),
PRIMARYKEY(id)
);
--插入测试主表数据.
INSERTINTOtest_main(id,value)VALUES(1,'ONE');
INSERTINTOtest_main(id,value)VALUES(2,'TWO');
--插入测试子表数据.
INSERTINTOtest_sub(id,main_id,value)VALUES(1,1,'ONEONE');
INSERTINTOtest_sub(id,main_id,value)VALUES(2,2,'TWOTWO');
然后,创建外键,使用ONDELETECASCADE选项,删除主表的时候,同时删除子表
ALTERTABLEtest_subADDCONSTRAINTmain_id_consFOREIGNKEY(main_id)REFERENCEStest_mainONDELETECASCADE;
执行删除:
DELETEFROMTEST_MAINWHEREID=1;
最后:
SELECT*FROMTEST_MAIN;
结果子表中就只有ID=2的记录,也就说明级联删除成功。
⑹ SQL 怎么级联删除语句
方法一:
MSSQLSERVER是支持级联更新和级联删除的,你要在建立外键的时候,要指定
EP:
alter table tb_userroles
add constraint FK_TB_USERR_RELATIONS_TB_FUNCT foreign key (gnbm)
references tb_function (gnbm)
on update cascade on delete cascade
方法二:用数据库触发器
⑺ sql中如何设置级联删除/更新
在表编辑器里面。
貌似SQL2000只支持表间的级联删除。表内连接没办法级联删除。
⑻ sql中级联删除,级联更新是怎么理解的
主外键的用用到的!当你设置主外键时可以选择是否进行级联删除,级联更新;当删除或更新主键表中的记录时,sql会自动删除或者更新该主键所对应外键表中的记录。具体的情况你可以测试一下!
⑼ SQL server中怎么修改级联删除修改
在创建表的时候就需要设置级联删除和级联更新(修改)。方法如下:
altertableSZ_Picture
addconstraintFK_SZ_PICTU_RELATIONS_SZ_PICTUforeignkey(pictureTypeId)
referencesSZ_PictureType(pictureTypeId)
--其中这句就是级联更新和级联删除
级联删除:
删除包含主键值的行的操作,该值由其它表的现有行中的外键列引用。在级联删除中,还删除其外键值引用删除的主键值的所有行。
级联更新:
更新主键值的操作,该值由其它表的现有行中的外键列引用。在级联更新中,更新所有外键值以与新的主键值相匹配。
⑽ SQL怎么用alter加入级联删除
这个简单哎
1.先删除已经建立的外键约束
alter table SC drop constraint 外键名 --外键名可在表架构里查到
2.重建外键约束并且加入级联删除项
Alter TABLE sc ADD CONSTRAINT [FK_sc] FOREIGN KEY (sno) REFERENCES student(sno)
ON Update CASCADE ON Delete CASCADE --本行表示级联删除的开启