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 プロシージャ名(パラメータ) で呼び出す。