为什么无论(@UserStatus = @UserNewStatus是否成立,都是运行的
begin
INSERT INTO [dbo].[UserSync]
VALUES(@Userid,'U',GETDATE())
end

解决方案 »

  1.   

    if之前看看@UserStatus与@UserNewStatus的值
      

  2.   

    如果@userstatus='aaa'而@usernewstauts='aaa  ',也肯定执行else后面的。
    把@userstatus和@usernewstatus前后的空格都去掉,再比较。
      

  3.   

    ?怎么看呢,有断点吗?
    declare @UserStatus char
    都是char 呀,怎么会有不一样呢?
      

  4.   

    select CONVERT(varchar(10), getDate(),120) --不要时间2002-1-1
    select convert(char(8),getdate(),112) ----20020101
    select convert(char(8),getdate(),108)  ---06:05:05
      

  5.   

    declare @UserStatus varchar(100)
    declare @UserNewStatus varchar(100)后在查询分析器里触发它!
      

  6.   

    你的程序好像得改一改:
    select @UserNewStatus=UserStatus
    from inserted
      

  7.   

    找到了,select @UserNewStatus char
    from inserted
    写错了