存储过程有使用了 select * from table1 waitfor delay '00:00:50'分别有两个Controller 一个Controller是执行存储过程,另一个Controller是执行另外的select.通过ajax调用发现,只有执行完第一个Controller才执行第二个Controller,好像是 waitfor delay阻止了所有的select.请问该如何解决?

解决方案 »

  1.   

    select * from table1 
    waitfor delay '00:00:50' --暂停50秒
    --50秒以后将继续运行下面的语句--#1.存储过程是一个事务吗?如果上面的语句在一个事务中,当它暂停时,数据库可能阻止其它进程的访问
    --#2.waitfor delay并不会阻止所有的select,它只是一个暂停语句
      

  2.   

    在一个SQl执行完前 delay 只能让当前操作等待,等待时间后继续执行本语句,然后后面的语句才能执行啊
      

  3.   

    在存储过程中使用了while循环,查询某一条记录的状态,通过waitfor delay控制间隔时间。如果要实现这样的功能,还有其它的办法吗?
      

  4.   


    declare @i int;set @i=0
    while(@i<10)
    begin
    select @i
    set @i=@i+1
    WAITFOR DELAY '00:00:01'; --延迟一秒
    end
      

  5.   

    和五楼一样,查出原因了,不是数据库,而是asp.net的问题,要通过异步执行Action