triggerdemo1.sql
来自「T-SQL示例大全」· SQL 代码 · 共 42 行
SQL
42 行
/*
文件名称: TriggerDemo1.sql
目 的: 示范如何使用 AFTER 触发程序
*/
USE 北风贸易
GO
if exists (select * from dbo.sysobjects where id = object_id(N'MyTable') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table MyTable
GO
-- 建立一个数据表
CREATE TABLE MyTable (编号 nchar(5) PRIMARY KEY,姓名 nvarchar(12))
GO
-- 为数据表 MyTable 建立一个由新增作业引发执行的 AFTER 触发程序
CREATE TRIGGER InsertTrigger ON MyTable
AFTER INSERT
AS
IF (SELECT count(*) FROM inserted WHERE 姓名 = N'章立民') > 0
BEGIN
PRINT '数据不符,姓名不可以是章立民'
DELETE MyTable WHERE 姓名 = N'章立民'
END
GO
-- 为数据表 MyTable 建立一个由更新作业引发执行的 AFTER 触发程序
CREATE TRIGGER UpdateTrigger ON MyTable
AFTER UPDATE
AS
IF (SELECT count(*) FROM inserted WHERE 姓名 = N'章立民') > 0
BEGIN
PRINT '数据不符,姓名不可以是章立民'
UPDATE MyTable SET MyTable.姓名 = deleted.姓名
FROM deleted
WHERE MyTable.姓名 = '章立民' AND MyTable.编号 = deleted.编号
END
GO
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?