以下の擬似コードを db2 でどのように記述すればよいでしょうか。
If (Proc exists)
Drop Proc
Create Proc
Else
Create Proc
グーグルで見つけた解決策の1つは、リターンコードを無視することです。これを行うためのよりエレガントな方法はありますか?
ありがとう
更新:以下の回答の助けを借りて、手順を削除するために以下のようにprocを作成しました
CREATE PROCEDURE SVCASNDB.DROPSP(IN P_SPECIFICNAME VARCHAR(128))
SPECIFIC DROPSP
P1: BEGIN
-- Drop the SP if it already exists
if exists (SELECT SPECIFICNAME FROM SYSIBM.SYSROUTINES WHERE SPECIFICNAME = trim(upper(p_SpecificName))) then
begin
DECLARE v_StmtString VARCHAR (1024);
SET v_StmtString = 'DROP SPECIFIC PROCEDURE SCHEMA.' || p_SpecificName;
PREPARE stmt1 FROM v_StmtString ;
EXECUTE stmt1;
end;
end if;
END P1