CREATE TRIGGER 创建表触发器

该代码创建了一个SQL触发器,当在[dbo].[OUSR]表上发生UPDATE操作时,会检查特定条件并更新[SBO-COMMON].[dbo].[SLIC]表中的AliasUpd字段。触发器使用临时表存储数据,并基于当前日期判断执行更新。
摘要由CSDN通过智能技术生成

/***创建触发器,在用户表上检测如果用户表有更新则触发update并处理***/
CREATE TRIGGER U_P_D_OUSR_SLIC ON [dbo].[OUSR]  --创建触发器
 FOR UPDATE  --用于 ADD/UPDATE/DELETE 操作时触发
AS 
BEGIN

    ----向临时表中插入数据
    DECLARE @AliasUpd NVARCHAR(254) = NULL
    DECLARE @TB01 TABLE ([DateForm] DATE,[DateTo] DATE,[AliasUpd] NVARCHAR(254));
    INSERT INTO @TB01
SELECT '2023/3/7','2023/4/5',N'htRf7+PE3mItgDA16BdlOxq5MQj44XTt' UNION ALL
SELECT '2023/4/5','2023/5/5',N'htRf7+PE3mLzGzDPZfHDEgEPlwLGGxyN'

    --从临时表 @TB01中取数
    DECLARE @DateNow DATE = GETDATE()
    DECLARE @AliasUpd_Tmp1 NVARCHAR(254) = (SELECT T0.AliasUpd FROM @TB01 T0       WHERE @DateNow >= T0.DateForm AND @DateNow < T0.DateTo)
  SET @AliasUpd = @AliasUpd_Tmp1
    END
    IF(@AliasUpd IS NOT NULL)--更新表
    BEGIN
        UPDATE T0 SET T0.AliasUpd = @AliasUpd FROM [SBO-COMMON].[dbo].[SLIC] T0
    END
END

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值