字段A,写有一触发器, 在企业管理器里测试通过。
当A字段 值发生改变,写入时间到B里
操作步凑,是通过 SQL设置的代理。定时夜间执行,会检查A字段,根据其它逻辑处理后 改变值。
问题,此时 A字段值发生改变了,竟然没有写时间到B里。是不是SQL代理 设置的 语句 不能使触发器执行?语句是UPDATE 表 SET A = 值函数LOGIC(C)

解决方案 »

  1.   

    是不是SQL代理 设置的 语句 不能使触发器执行?语句是
      

  2.   

    是那个字段A,在作业里 设置了UPDATE 语句,才能改变。
    语句是UPDATE 表 SET A = 值函数LOGIC(C)
      

  3.   

    哎。大家都习惯看代码啊?A默认0作业里设置了。
    update 表 SET A = 1表有触发器
    判断A 前后值不同 写入当前时间到B里。
    执行语句生效。
    设置了作业后,不生效。
      

  4.   


    ---
    是不是代理服务没有开启,所以没有执行呢...我的电脑--控制面板--管理工具--服务--右键 SQLSERVERAGENT--属性--启动类型--选择"自动启动"--确定.
      

  5.   

    判断A 前后值不同 写入当前时间到B里。你怎么做的判断,是这样吗
    declare @Anew int
    declare @Aold int
    select @Anew = A from inserted
    select @Aold = A from deleted
    if @Anew<>@Aold
    update tb set B=getdate()