>我正在用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