暂停/启用所有触发器及外键约束
来源:互联网 发布:spss for mac 25 编辑:程序博客网 时间:2024/06/03 05:42
/*
说明: 暂停/启用所有触发器及外键约束
*/
ALTER PROCEDURE [dbo].[P_set_trigger] @flag bit AS
SET NOCOUNT ON
DECLARE @TableName sysname, @ConstraintName sysname, @Action nvarchar(7), @SQLString nvarchar(500)
-- TRIGGER
SET @Action = case when @flag = 1 then 'ENABLE' else 'DISABLE' end
DECLARE cTmp CURSOR FOR SELECT name FROM sysobjects WHERE xtype = N'U'
OPEN cTmp
FETCH cTmp INTO @TableName
WHILE (@@FETCH_STATUS = 0)
BEGIN
SET @SQLString = 'ALTER TABLE ' + @TableName + ' ' + @Action + ' TRIGGER all'
EXEC sp_executesql @SQLString
-- Next
FETCH cTmp INTO @TableName
END
CLOSE cTmp
DEALLOCATE cTmp
if @flag = 1
PRINT 'Set all Trigger to ENABLE'
else
PRINT 'Set all Trigger to DISABLE'
-- CONSTRAINT
SET @Action = case when @flag = 1 then 'CHECK' else 'NOCHECK' end
DECLARE cTmp CURSOR FOR SELECT object_name(parent_obj), name FROM sysobjects WHERE xtype = N'F'
OPEN cTmp
FETCH cTmp INTO @TableName, @ConstraintName
WHILE (@@FETCH_STATUS = 0)
BEGIN
SET @SQLString = 'ALTER TABLE ' + @TableName + ' ' + @Action + ' CONSTRAINT ' + @ConstraintName
EXEC sp_executesql @SQLString
-- Next
FETCH cTmp INTO @TableName, @ConstraintName
END
CLOSE cTmp
DEALLOCATE cTmp
if @flag = 1
PRINT 'Set all Constraint to ENABLE'
else
PRINT 'Set all Constraint to DISABLE'
SET NOCOUNT OFF
- 暂停/启用所有触发器及外键约束
- 禁用、启用外键约束和触发器
- 游标暂停和启用外键约束foreignkey
- 删除所有外键约束 禁用所有外键约束 启用所有外键约束
- 禁止及启用表的所有约束
- SQL Server 临时禁用和启用所有外键约束
- SQL Server 临时禁用和启用所有外键约束
- SQL Server 临时禁用和启用所有外键约束
- sql server 数据库中 触发器和约束的暂停及恢复操作 命令
- 外键约束禁用启用
- SQL Server 禁用外键约束和启用外键约束及删除表数据
- oracle 删除外键约束 禁用约束 启用约束
- Oracle中删除外键约束、禁用约束、启用约束
- Oracle中删除外键约束、禁用约束、启用约束
- Oracle中删除外键约束、禁用约束、启用约束
- oracle 删除外键约束 禁用约束 启用约束
- 触发器中的外键约束
- 禁用启用数据库外键约束
- 为了
- VI技巧
- Windows 7 磁盘分区使用方法
- 针对 IBM Lotus Notes 开发人员的性能基础知识
- 基于H.264的流媒体服务器的设计和实现
- 暂停/启用所有触发器及外键约束
- 我只是想声明一下
- PHP在线实现工具(linux下可用, windows未测试)
- works
- 一个正规的商业网站所应该具备的功能【技术,功能需求角度的认识】
- Zebra配置
- 2010年最后一天修复电脑没有声音记
- 想和大家讨论一下 对这篇文章的看法
- 多线程队列的算法优化