統合戦略の一環として、データベースを更新するために実行する SQL スクリプトがいくつかあります。これらすべてのスクリプトが最初に行うことは、実行する必要があるかどうかを確認することです。たとえば、次のようになります。
if @version <> @expects
begin
declare @error varchar(100);
set @error = 'Invalid version. Your version is ' + convert(varchar, @version) + '. This script expects version ' + convert(varchar, @expects) + '.';
raiserror(@error, 10, 1);
end
else
begin
...sql statements here...
end
よく働く!ストアド プロシージャを追加する必要がある場合を除きます。「create proc」コマンドは、SQL コマンドのバッチ内の唯一のコマンドである必要があります。IF ステートメントに「create proc」を入れると、次のエラーが発生します。
'CREATE/ALTER PROCEDURE' は、クエリ バッチの最初のステートメントである必要があります。
痛い!スクリプトに CREATE PROC コマンドを追加し、必要な場合にのみ実行するにはどうすればよいですか?