以前用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
本文介绍了在SqlServer中实现表间级联更新与级联删除的方法。通过两种方式实现:一是使用触发器,二是直接在表定义中设置外键约束。这两种方法能够确保主表数据更改时,从表数据能自动同步更新或删除。
3435

被折叠的 条评论
为什么被折叠?



