对Sql Server中的表添加级联更新和级联删除的几种方法

对Sql Server中的表添加级联更新和级联删除的几种方法,第1张

触发器方式: 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 语句的CONSTRAINT子句中使用ON Update CASCADE 和/或 ON Delete CASCADE 关键字。注意他们都必须是应用于外键的。 级联更新和级联删除方式: 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

首先建议尽量避免使用自动级联 *** 作,尤其是更新。这在以后开发中会出很多问题的。

两种方法:

1.把两个表需要关联的字段,设置主外键关联,然后设置它们级联更新和删除就行了;

2.就是给一个表建立触发器,当插入或更新的时候,自动更新另一个表。

试试吧!GOOD LUCK!

两种方法,一种是sql语句,一种是用图形界面 *** 作。

sql语句写法:

alter table SZ_Picture

add constraint FK_SZ_PICTU_RELATIONS_SZ_PICTU foreign key (pictureTypeId)

references SZ_PictureType (pictureTypeId)

on update cascade on delete cascade

其中on update cascade on delete cascade代表级联更新和级联删除。

图形界面 *** 作方法:

首先在PDM中两个表的relationship上双击,d出如下对话框,选择Integrity 选项卡,将Update constraint 和Delete constraint下的cascade选上即可。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11766074.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存