Corredor

ウェブ、プログラミングの勉強メモ。

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

基礎からわかる PL/SQL

基礎からわかる PL/SQL

  • 作者: 高山昌悟,横山弘典
  • 出版社/メーカー: シーアンドアール研究所
  • 発売日: 2015/01/24
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る