我在SQL Server 2008中编写存储过程。我需要创建两个互相使用的过程。
程序A执行B,B执行A。
所以我想我必须先声明程序的标题。我已经通过互联网搜索了但我无法找到答案,我该怎么做。
所以,我的问题是:如何在SQL Server 2008中单独声明存储过程的头和主体?
答案 0 :(得分:4)
您无法将它们分开,但您可以创建一个SP,该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