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

MSSQL
MySQL中SQL的单字节注入与宽字节注入
解决MySQL 5数据库连接超时问题
通过事务日志解决SQL Server常见四大故障
将SQL 2000日志迁移到SQL Server 2008
在应用环境中如何构造最优的数据库模式
数据库安全管理的三个经验分享
SQL Server应用程序的高级Sql注入
Oracle数据库与SQL Server数据库镜像对比
讲解SQL Server安装sp4补丁报错的解决方法
SQL Server 2005数据库批量更新解决办法
编写和优化SQL Server的存储过程
从数据行入手保护SQL Server数据安全
SQL Server数据体系和应用程序逻辑详解
网友分享:Oracle数据库开发技术经验浅谈
把你的数据库置于版本控制之下
SQL Server 2005实现数据库缓存依赖
SQL Server数据库管理常用SQL和T-SQL语句
初学者必读:提高SQL执行效率的几点建议
初探MS SQL CE+Codesmith
优化SQLServer数据库服务器内存配置的策略

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 687 ::
收藏到网摘: 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