--选择用户数据库
use mydb
go
/*
如何使触发器失效,但是不删除触发器,然后又如何使无效的触发器激活
---------------------------------------------------------------
禁用并重新启用触发器
下例使用 ALTER TABLE 的 DISABLE TRIGGER 选项来禁用触发器,
以使正常情况下会违反触发器条件的插入操作得以执行。
然后下例使用 ENABLE TRIGGER 重新启用触发器。 */
create table tb
( id INT,
name VARCHAR(20),
salary MONEY
)
go
CREATE TRIGGER tri_insalary ON tb FOR INSERT
as
IF (SELECT COUNT(*) FROM INSERTED
WHERE salary > 100000) > 0
BEGIN
print '错误提示: 您插入了一个大于 $100,000'
ROLLBACK TRANSACTION
END
GO
--插入测试 触发器正常使用情况下
INSERT INTO tb VALUES (1,'Pat Smith',100001)
GO
--SQL触发器使用 禁用触发器
ALTER TABLE tb DISABLE TRIGGER tri_insalary
GO
--SQL触发器使用 插入测试 触发器失效情况下
INSERT INTO tb VALUES (2,'Chuck Jones',100001)
GO
--SQL触发器使用 启用触发器
ALTER TABLE tb ENABLE TRIGGER tri_insalary
GO
--SQL触发器使用 插入测试 触发重新启用情况下
INSERT INTO tb VALUES (3,'Mary Booth',100001)
GO
--SQL触发器使用 删除测试环境
drop table tb
SQL触发器使用
http://www.db001.com/html/MSSQL/2010/0721/195.html