プロシージャの呼び出しには、ごく一般的と思われるパラメータをカンマ区切りで羅列していく方法と、パラメータ名とVALUE値を’ => ‘ で区切って指定する方法の2種類があります。こちら一見違和感ありましたが、慣れるとこちらのほうがわかりやすいですね。パラメータが多くなった場合など特に感じます。
一般的な呼び出し方法(OUTパラメータを持たないケース)
exec PAC01.PRC_OLTEST('テスト1',60) ;
パラメータ名を =>で指定する方法(OUTパラメータを持たないケース)
BEGIN PAC01.PRC_OLTEST( P_NAME => 'テスト1' ,P_NO => 60 ); END;
OUTパラメータがある場合「ブロック実行」しないといけません
-- declare句で outパラメータ用の変数を定義する必要があります declare vRCODE number; begin PAC01.PRC_OLTEST('テスト1',45,vRCODE); DBMS_OUTPUT.PUT_LINE('vRCODE :'||to_char(vRCODE)); end;
=>でパラメータを指定する場合
declare vRCODE number; BEGIN PAC01.PRC_OLTEST( P_NAME => 'テスト1' ,P_NO => 45 ,P_RCODE => vRCODE ); DBMS_OUTPUT.PUT_LINE('vRCODE :'||to_char(vRCODE)); END;