zoukankan      html  css  js  c++  java
  • 一个有用的触发器


    这个触发器主要是值更改前后的获取,以及字符串分隔

    CREATE TRIGGER historyaddress  ON dbo.gdzclist
    FOR UPDATE
    AS
    if UPDATE(chrnowaddress)
    begin
    declare @chrnowaddress varchar(255),@intID integer,@chrhistoryaddress varchar(500),@regtime datetime,@i integer,@tmptime varchar(500)
    select @tmptime=chrnowaddress from inserted
    select @chrnowaddress=chrnowaddress, @intID=ID,@chrhistoryaddress=chrhistoryaddress,@regtime=dtmregtime from deleted
    if (@chrnowaddress='' )
       return
    if (@chrnowaddress=@tmptime)
       return
     if ( rtrim(@chrhistoryaddress+'')=''  or  @chrhistoryaddress is null)
     begin
       select @chrnowaddress=@chrnowaddress+'['+convert(char(4),year(@regtime))+'-'+convert(varchar(2),month(@regtime))+'-'+convert(varchar(2),day(@regtime))+'--'+convert(char(4),year(getdate()))+'-'+convert(varchar(2),month(getdate()))+'-'+convert(varchar(2),day(getdate()))+']'
      end
           else
     begin
        select @i=PATINDEX('%--%', @chrhistoryaddress)
        select @tmptime=substring(@chrhistoryaddress,@i+2,len(@chrhistoryaddress)-@i-2)
          
         WHILE (PATINDEX('%--%', @tmptime)<>0)
      BEGIN
      select @i=PATINDEX('%--%', @tmptime)
      select @tmptime=substring(@tmptime,@i+2,len(@tmptime)-@i-1)
      END
       select @chrnowaddress=@chrhistoryaddress+';'+@chrnowaddress+'['+convert(char(4),year(@tmptime))+'-'+convert(varchar(2),month(@tmptime))+'-'+convert(varchar(2),day(@tmptime))+'--'+convert(char(4),year(getdate()))+'-'+convert(varchar(2),month(getdate()))+'-'+convert(varchar(2),day(getdate()))+']'
     end
    update gdzclist set chrhistoryaddress=@chrnowaddress where id=@intID
    end

  • 相关阅读:
    排序
    多线程
    swift demo
    支付宝支付
    TV端产品设计法则和分析
    产品经理提升修炼的方法
    “互联网+”不是传统企业的万金油
    我眼中理想的程序员
    来谈谈产品的模仿与抄袭的问题
    产品体验成就产品
  • 原文地址:https://www.cnblogs.com/isMe/p/270583.html
Copyright © 2011-2022 走看看