sqlserver/oracle当插入表数据时同时修改其中一个字段的触发器



今天碰到一个情况就是我们公司的一个OA系统,有一个定时任务,它会定时更新域账号系统里面新建的帐号,但是我发现更新完之后,数据库本应该把更新日期放入到fd_create_time字段里面的,但是结果确放入到了fd_alter_time字段里而fd_create_time为null,当系统维护员在OA系统修改人员数据的时候fd_alter_time字段有被更新了,这个

肯定是有问题的,记录不到OA用户的创建日期,我反编译了定时任务的源码,封装的太多,我也不打算动源码,所以就建了一个触发器,代码如下:

CREATE TRIGGER dbo.zzjTrigger
   ON  dbo.sys_org_element
   AFTER INSERT
AS
BEGIN
 SET NOCOUNT ON;
    update sys_org_element
    set fd_create_time=GETDATE()
    where sys_org_element.fd_id=(select fd_id from inserted)
END

OK,解决。

展开阅读全文

没有更多推荐了,返回首页