SQL Server 创建触发器
admin
2023-06-09 06:01:40
0
-- TABLE INSERTVAL UPDATEVAL
if (object_id('DATA_SYNC_FH_DJ','TR') is not null)
    drop trigger DATA_SYNC_FH_DJ
go
create trigger DATA_SYNC_FH_DJ
on FH_DJ
    for insert,update,delete
as
    declare 
    @oldUpdate varchar(20),
    @newDate varchar(20),
    @DJdanhao varchar(20),
    @Djid int,
    @isInsert bit,
    @isUpdate bit,
    @isDelete bit;
    
    -- 判断是否为插入操作
    IF EXISTS(SELECT 1 FROM inserted) AND NOT EXISTS(SELECT 1 FROM deleted)
BEGIN
SET @isInsert = 1;
select @Djid = djid from inserted;
END
ELSE
SET @isInsert = 0
-- 判断是否为更新操作
IF EXISTS(SELECT 1 FROM inserted) AND EXISTS(SELECT 1 FROM deleted)
BEGIN
SET @isUpdate = 1;
select @Djid = djid from inserted;
END
ELSE
SET @isUpdate = 0
-- 判断是否为删除操作
IF (NOT EXISTS(SELECT 1 FROM inserted) AND EXISTS(SELECT 1 FROM deleted))
BEGIN
SET @isDelete = 1;
select @DJdanhao = DJdanhao from deleted;
END
ELSE
SET @isDelete = 0
    
    --更新前的数据
    select @oldUpdate = F_SYNC_UPDATE from deleted;
    --通过应用程序修改时,F_SYNC_UPDATE=null或F_SYNC_UPDATE=0,此时不需要更新F_SYNC_DATE 时间戳,也不需要记录删除记录    
    if ((@oldUpdate is null) or (@oldUpdate = 0))
        begin
            --更新操作,更新时间戳F_SYNC_DATE=systimestamp和F_SYNC_UPDATE=null
            if (@isUpdate = 1)
insert into DATA_SYNC_B_OPERATOR (t_name, o_type, o_date, VKEYS)
values ('FH_DJ', 2, GETDATE(), @Djid);
--把新增加的记录插入到操作记录表
if (@isInsert = 1)
  insert into DATA_SYNC_B_OPERATOR (t_name, o_type, o_date, VKEYS)
  values ('FH_DJ', 1, GETDATE(), @Djid);
--把删除记录的主键添加到操作记录表
if (@isDelete = 1)
  insert into DATA_SYNC_B_OPERATOR (t_name, o_type, o_date, VKEYS)
  values ('FH_DJ', 3, GETDATE(), 'test@' + @DJdanhao);
        end
go

相关内容

热门资讯

小米YU7 GT、小米17 M... 5月21日,小米连续发布全新小米YU7家族,新增小米YU7 GT、YU7 标准版两大车型。同场发布的...
持续深耕AI4S创新创业生态 ... 首期科学智能百团百项“科创训练营”近日在沪举办,来自近30个AI4S(AI for Science)...
特朗普:美伊协议“尚未完全谈妥... 新华社华盛顿5月24日电(记者颜亮 徐剑梅)美国总统特朗普24日说,美国和伊朗的协议“尚未完全谈妥”...
大幅升级改造!神舟二十三号飞船... 神舟二十三号飞船出征在即,作为新批次飞船的第二艘飞船,它有哪些改进?承担什么样的任务? 人机界面升...
原创 这... 在自然界,有一些动物通过模仿有毒的、有害的其它动物,来提高生存能力,也有一些动物通过模仿周围的环境来...
Windows竟然藏了一个工具... 快科技5月24日消息,据Neowin报道,Windows系统中有一个鲜为人知的“Windows To...
每天使用手机超过5小时,会发生... 刷手机这事 估计没人能逃得过 上班路上刷几条热搜 吃饭时配一段短视频 睡前躺在床上翻朋友圈、看抖音 ...
硅谷正在流行“氛围办公”:不敲... 这个春天开始,硅谷的办公室里,敲打键盘的哒哒声正在被嘀嘀咕咕的人声取代。 有风险投资人调侃,现在去硅...
抵达!神舟二十三号载人飞船与空... 据中国载人航天工程办公室消息,神舟二十三号载人飞船入轨后,于北京时间2026年5月25日2时45分,...
神舟二十三号载人飞船发射取得圆... 5月24日,搭载神舟二十三号载人飞船的长征二号F遥二十三运载火箭在酒泉卫星发射中心点火发射。神舟二十...