【问题标题】:Is it possible to execute nested stored procedure without waiting for return?是否可以在不等待返回的情况下执行嵌套存储过程?
【发布时间】:2014-02-24 16:10:19
【问题描述】:

我需要创建嵌套存储过程。在接下来的事情中。

Create proc MyVoidProc 
as
Begin
    Waitfor Delay '00:00:05'
    Print 'This has been executed'
End

GO;

Create Proc TestNestedSP
as
Begin
    Select * From sys.tables --Some select statement that needs to be returned

    Exec MyVoidProc  --This does not return anything.
End

是否可以在不等待MyVoidProc 执行的情况下从TestNestedSP 返回select 语句。 MyVoidProc 不返回任何内容,但需要在 TestNestedSP 的末尾执行,因为它需要从调用它的过程中捕获元素。 MyVoidProc 将需要不同的时间来执行,因此我不会等待它。只需将重要的内容返回给用户,并在用户不知情的情况下完成处理。

【问题讨论】:

  • 那你为什么不启动一个执行内部 SP 的作业呢?

标签: sql sql-server stored-procedures asynchronous sql-server-2012


【解决方案1】:

简短回答:否

但是您还有其他选择,已经提到过,使用工作: Async Stored Procedure Call in T-SQL

其他选项: - CLR 存储过程,触发线程 - 直接从代码运行,而不是 SQL

【讨论】:

    【解决方案2】:

    您可以在 sql server management studio 中使用Resource Governor 选项。 这可以管理处理器和内存。 因此,您可以将您的处理器分为多个组,并将程序添加到每个组。因此,不在同一处理器内核分类上的程序可以并行运行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-17
      • 1970-01-01
      • 2019-12-02
      • 1970-01-01
      • 1970-01-01
      • 2022-01-08
      相关资源
      最近更新 更多