【SQL Server】ストアドプロシージャ修正

SQL Server
この記事は約1分で読めます。
基本形
ALTER PROCEDURE [ストアドプロシージャ名]
  引数...
AS
  処理内容...

「CREATE」を「ALTER」に変えるだけでOKです。

CREATE OR REPLACE PROCEDURE

オラクルだと新規作成にも更新にも使える「CREATE OR REPLACE PROCEDURE」という便利な書き方があるのですが、SQL Serverでは使えません。代わりにドロップ&クリエイトを使います。

IF EXISTS (SELECT * FROM sys.objects WHERE type = 'P' 
                                       AND name ='ストアドプロシージャ名')
DROP PROCEDURE [ストアドプロシージャ名]
GO
CREATE PROCEDURE [ストアドプロシージャ名]

ドロップ&クリエイトだと、一瞬ストアドプロシージャが存在しない時間が出来るので、常に動いているシステムへの変更する場合は気をつけてください。

コメント

タイトルとURLをコピーしました