SQL Server 2008 でストアド プロシージャを作成しています。相互に使用する 2 つのプロシージャを作成する必要があります。
プロシージャー A が B を実行し、B が A を実行します。
したがって、最初にプロシージャのヘッダーを宣言する必要があると思います。インターネットで検索しましたが、どうすればいいのか答えが見つかりません。
だから、私の質問は: SQL Server 2008 でストアド プロシージャのヘッダーと本体を別々に宣言するにはどうすればよいですか?
SQL Server 2008 でストアド プロシージャを作成しています。相互に使用する 2 つのプロシージャを作成する必要があります。
プロシージャー 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