比如:
--a
Select col1,col2 From tb;
--b
exec 存储过程我想a执行完,不管b执行不执行完马上返回结果,不要堵塞着

解决方案 »

  1.   

    --a
    Select col1,col2 From tb;
    go
    --b
    exec 存储过程
      

  2.   

    亲,不行哦,在同一个存储过程里,还要用上面传的参数,
    用go分开了,就得不到上面的参数了
    情况类似这种:
    http://stackoverflow.com/questions/21992874/is-it-possible-to-execute-nested-stored-procedure-without-waiting-for-return
    得到的答案是这个。
    http://stackoverflow.com/questions/18449430/async-stored-procedure-call-in-t-sql
    包装成作业立即执行作业。
      

  3.   

    关于这一点有两个问题想请教下版主
    第一个是两个程序同时执行存储过,如果不特意指定sqlserver异步执行的前提的,sqlserver默认行为是异步的还是同步的
    第二个问题是如果第一个问题是异步执行的话,我给存储过程里加事务,还是两个程序同时执行存储过,此时是是异步的还是同步的
      

  4.   

    那如果必须封装在一个批,那就不行了,不然数据一致性无法保证。只能分开两个批。 sp_start_job其实也是把你整个过程分开了
      

  5.   

    关于这一点有两个问题想请教下版主
    第一个是两个程序同时执行存储过,如果不特意指定sqlserver异步执行的前提的,sqlserver默认行为是异步的还是同步的
    第二个问题是如果第一个问题是异步执行的话,我给存储过程里加事务,还是两个程序同时执行存储过,此时是是异步的还是同步的
    独立执行,相互没影响。说不上异步还是同步。你执行你的,我执行我的
      

  6.   

    能这么理解吗,sqlserver执行本身是没有队列这个玩意的
      

  7.   

    这个SSIS可以传,不过我暂时没环境,你可以理解一下SSIS,包是SSIS的概念。
      

  8.   

    能这么理解吗,sqlserver执行本身是没有队列这个玩意的有队列,SERVICE BROKER。