当前位置: 首页 > 图文教程 > 数据库 > MSSQL > 对Sql Server中的表添加级联更新和级联删除

MSSQL
SQL Server 2005对DBA的要求是否会更高
SQL Server新库和旧库数据字典的比较
一个获取SQL Server数据字典的经典SQL语句
三个SQL视图查出所有SQL Server数据库字典
解决SQL Server连接中最为常见的错误
Browser/Server结构浏览器和服务器结构介绍
Position方式构建Browser/Server结构
VS2003创建和打开ASP.net 工程的若干问题
ASP技巧教程:认识学习codepage的属性
SQL Server日志清除的两个方法
SQL Server端口更改后的数据库连接方式
SQL Server数据库的转储设备
用OMS来实现Oracle数据备份的方法
分析SQL Server的数据转换服务
SQL Server数据库快照形成报表
EFS加密技巧让数据更安全
SQL Server 如何将直接传递查询作为表使用
解析SQL Server 2008的商业智能
SQL Server数据库30步检查安全列表
转换 SQL数据库时的疑难问题

MSSQL 中的 对Sql Server中的表添加级联更新和级联删除


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 688 ::
收藏到网摘: n/a

以前用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