update tableA set flag=2 where ID=@ID and [newtime]>=dateadd(s,-30,getDate())在ID和newtime建上索引

解决方案 »

  1.   

    没看懂,你这个NEWTIME事GETTIME 是把NEWTIME 设置成计算列吗 ,不然你更新的时间也影响结果啊
      

  2.   


    这个语句的newtime时间没有跟oldtime比啊。我要的是newtime取getData()的值,且newtime的值比oldtime要大,但是这两个时间的间隔时间是在30s以内
      

  3.   

    同时要更新newtime的值为getDate()的值
    这能一条sql语句做到吗?
      

  4.   


    这个语句的newtime时间没有跟oldtime比啊。我要的是newtime取getData()的值,且newtime的值比oldtime要大,但是这两个时间的间隔时间是在30s以内

    改一下栏位就行了,@newtime=getdate(),为何不直接用
    update tableA set flag=2 where ID=@ID and [oldtime]>=dateadd(s,-30,@newtime)
      

  5.   

    楼上正解~~~,不过后面的语句写错了列名[oldtime],之前是写的对的。