🔖

【PL/SQL】SQL Pulsでプロシージャから直接OUTパラメータを取得

に公開

SQLPlusを使用して、あらかじめ作成しているプロシージャに引数を渡し、OUTパラメータを取得する方法のメモです。

SQLPlusとは

SQLPlusとは、Oracle Databaseを操作するためのツールです。
SQLやスクリプトの実行ができ、主に開発や検証で使用されます。

実行手順(例)

例の条件

  • OUTパラメータを取得するプロシージャは別途作成
  • 複数の引数と複数のOUTパラメータを設定する場合
  • 以下の仮名称で実行手順を説明します。
仮名称
仮プロシージャ:XX_KARI
OUTパラメータ :OUT1,OUT2

1.OUTパラメータを受け取るためのバインド変数を宣言します。

バインド変数宣言
VARIABLE OUT1 データ型;
VARIABLE OUT2 データ型;

データ型は、Oracleの基本型に準じたVARCHAR2やNUMBERなど使用できます。

2.プロシージャを実行し、バインド変数に値を格納します。

プロシージャ実行
EXEC XX_KARI(引数1, 引数2, :OUT1, :OUT1);

3.バインド変数の値を出力します。

バインド変数の値を出力
PRINT OUT1
PRINT OUT1

上記1.で宣言したバインド変数は、SQLPuls終了するまでの間は何度でも使用できます。
EXECコマンドで値の再代入やPRINTコマンドの表示も何度でも可能です。
SQLPuls終了の際に、宣言したバインド変数は破棄されます。

Discussion