Oracle DB でのプロシージャの作り方
Oracle DB でプロシージャを作り、それを呼び出す方法。
-- プロシージャを作る
Create Or Replace Procedure myProcedure (
param In Varchar2
)
Is
var Number;
Begin
Execute Immediate
'SELECT hoge FROM my_table WHERE name = ''' || param || '''' Into var;
If var = 0 Then
Dbms_Output.Put_Line('0件でした');
Else
/* 1件以上取得できた時の処理 */
End If;
End;
/
-- プロシージャの呼び出し
Call myProcedure('ParameterString')
プロシージャの中身は PL/SQL。
- カッコ内の
パラメータ名 In 型, パラメータ名 In 型
でパラメータ宣言。 - その次の
Is
で、Is 変数名 型; 変数名 型
と書いていって変数宣言ができる。 Execute Immediate
で動的 SQL を実行できる。
プロシージャを呼び出す時は、Call プロシージャ名(パラメータ)
で呼び出す。