⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 triggerdemo3.sql

📁 T-SQL示例大全
💻 SQL
字号:
/* 
文件名称: TriggerDemo3.sql
目        的: 示范如何使用 AFTER 触发程序
*/
USE 北风贸易
GO

if exists (select * from dbo.sysobjects where id = object_id(N'dbo.InsertUpdateTrigger') and OBJECTPROPERTY(id, N'IsTrigger') = 1)
drop trigger dbo.InsertUpdateTrigger
GO

-- 为「章立民工作室」数据表建立一个由新增或更新作业引发执行的 AFTER 触发程序
CREATE TRIGGER InsertUpdateTrigger ON 章立民工作室
AFTER INSERT,UPDATE
AS
IF (SELECT count(*) FROM inserted WHERE 起薪 < 10000) > 0
    BEGIN
         RAISERROR ( '起薪必须小于 10000',16,1)
         ROLLBACK TRANSACTION
    END

IF (SELECT count(*) FROM inserted WHERE 起薪 > 目前薪资) > 0
    BEGIN
         RAISERROR ( '起薪必须小于目前薪资',16,1)
         ROLLBACK TRANSACTION
    END

IF (SELECT count(*) FROM inserted WHERE 雇用日期 > 加薪日期) > 0
    BEGIN
         RAISERROR ( '雇用日期必须小于加薪日期',16,1)
         ROLLBACK TRANSACTION
    END

IF (SELECT count(*) FROM inserted 
         WHERE DATEDIFF(yy,出生日期,GETDATE()) < 20) > 0
    BEGIN
         RAISERROR ( '年龄不可以小于 20 岁',16,1)
         ROLLBACK TRANSACTION
    END
  
IF (SELECT count(*) FROM inserted 
        WHERE 部门 NOT IN ('生产制造部','行销部','财务部','会计部','业务部','资讯部')) > 0
    BEGIN
         RAISERROR ( '部门不正确',16,1)
         ROLLBACK TRANSACTION
    END
  
GO

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -