sqlserver 触发器+Cursor进行对表操作的实现日志功能

有一个需求,当我们对一张表进行修改的时候,就将他的操作存入一张log表中,改表记录了修改前的数据,修改后的数据,哪个字段进行了修改,直段的注释,修改日期等条件。

日志表

 

结账单表

 

--判断触发器是否存在

if (object_id('tgr_jzd_alter_log', 'tr') is not null)

    drop trigger tgr_jzd_alter_log;

go

-- 创建触发器

create trigger tgr_jzd_alter_log

on jzd --触发器对应表

    for delete,insert,UPDATE

as

--定义变量

    declare @d_kpd varchar(225),

        @i_kpd varchar(225),

        @operate_detail varchar(100),

        @operate_headers varchar(225),

        --@insert_time varchar(20),

        @insert_time datetime,

        @operate_behavior varchar(20),

        @operate_type varchar(20),

        @operate_user_id varchar(20),

        @operate_user_name varchar(20),

                @v_name varchar(20),

                @v_d varchar(20),

                @v_i varchar(20),

                @zb_sql1 nvarchar(2000),

                @zb_sql2 nvarchar(2000),

                @v_id varchar(20);

--获得系统时间,初始化变量

        SELECT @insert_time=GETDATE();

        set @d_kpd='';

        set @i_kpd='';

        set @zb_sql1='';

        set @zb_sql2='';

        set @operate_detail='';

        set @operate_behavior=

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值