分别声明存储过程标头和正文



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

过程 A 执行

B,B 执行 A。

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

所以,我的问题是:如何在SQL Server 2008中单独声明存储过程的标头和正文?

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

当你运行这个

create procedure TheFirst as
begin
  exec TheSecond
end

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

模块"TheFirst"取决于缺失的对象"TheSecond"。这 模块仍将创建;但是,它无法成功运行 直到对象存在。

更新:

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

create procedure ProcB as
go
create procedure ProcA as
begin
  exec ProcB
end
go
alter procedure ProcB as
begin
  exec ProcA
end

最新更新