级联删除笔记【自用0分】

时间:2013-05-28 03:07:20
【文件属性】:

文件名称:级联删除笔记【自用0分】

文件大小:2KB

文件格式:TXT

更新时间:2013-05-28 03:07:20

级联删除

以前用Sql Server只会对图形界面进行操作,现在发现自己的Sql语言功底是越来越差了,例如如何为两个表添加关联,让他们级联更新和级联 删除。 到晚上查了一下,发现可以用两种办法 触发器方式: create trigger trg_A on A for update,delete as begin if exists(select 1 from inserted) update B set Name=(select Name from inserted) where Name=(select Name from deleted) else delete B where Name=(select Name from deleted) end go 级联更新和级联删除方式: ALTER TABLE [dbo].[T_USERGROUP] ADD CONSTRAINT [FK_T_USERGROUP_T_ACCTTEMPLATE] FOREIGN KEY ( [ATNAME] ) REFERENCES [dbo].[T_ACCTTEMPLATE] ( [ATNAME] ) ON UPDATE CASCADE ON DELETE CASCADE ---------------------------------------------------------------------------------------------------------------------------- 如果,现在有两张表A(id,xx.xx...),C(id,Cid,xx,xx...),预实现C中的id与A 中id级联删除、级联更新/数据同步,可有两种实现方式: 一. 利用sql server自带的级联删除、级联更新功能,即其外键约束途径 alter table dbo.C add constraint FK_C_A_AID foreign key(AID) references dbo.A(AID) on delete cascade on update cascade go alter table dbo.C add constraint FK_C_B_BID foreign key(BID) references dbo.B(BID) on delete cascade on update cascade go 级联更新和级联删除方式: Alter TABLE [dbo].[T_USERGROUP] ADD CONSTRAINT [FK_T_USERGROUP_T_ACCTTEMPLATE] FOREIGN KEY ( [ATNAME] ) REFERENCES [dbo].[T_ACCTTEMPLATE] ( [ATNAME] ) ON Update CASCADE ON Delete CASCADE


网友评论