我正在 SQL Server 2008 中编写存储过程。我需要创建两个相互使用的过程。
过程 A 执行 B,B 执行 A。
所以我想我必须首先声明程序的标题。我在互联网上搜索过,但我找不到答案,我该怎么做。
所以,我的问题是:如何在 SQL Server 2008 中分别声明存储过程的标头和主体?
我正在 SQL Server 2008 中编写存储过程。我需要创建两个相互使用的过程。
过程 A 执行 B,B 执行 A。
所以我想我必须首先声明程序的标题。我在互联网上搜索过,但我找不到答案,我该怎么做。
所以,我的问题是:如何在 SQL Server 2008 中分别声明存储过程的标头和主体?
您不能将它们分开,但您可以创建一个调用另一个尚不存在的 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