基本形
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 [ストアドプロシージャ名]
ドロップ&クリエイトだと、一瞬ストアドプロシージャが存在しない時間が出来るので、常に動いているシステムへの変更する場合は気をつけてください。
コメント