1

我正在 SQL Server 2008 中编写存储过程。我需要创建两个相互使用的过程。

过程 A 执行 B,B 执行 A。

所以我想我必须首先声明程序的标题。我在互联网上搜索过,但我找不到答案,我该怎么做。

所以,我的问题是:如何在 SQL Server 2008 中分别声明存储过程的标头和主体?

4

1 回答 1

4

您不能将它们分开,但您可以创建一个调用另一个尚不存在的 SP 的 SP。

当你运行这个

create procedure TheFirst as
begin
  exec TheSecond
end

并且 SP TheSecond 不存在,您将收到一条消息:

模块“TheFirst”依赖于缺失的对象“TheSecond”。该模块仍将被创建;但是,在对象存在之前,它无法成功运行。

更新:

为避免出现这些消息,您可以先创建一个空 proc,然后在脚本中添加代码。

create procedure ProcB as

go

create procedure ProcA as
begin
  exec ProcB
end

go

alter procedure ProcB as
begin
  exec ProcA
end
于 2012-05-21T09:50:36.687 回答