Oracle/PLSQL †プロシージャの実行 †引数には、INパラメータと、IN OUTパラメータの2つがある。 特定の引数(パラメータ名)に値を指定していく場合は、パラメータ名 => '値' の形式で指定する var INOUTパラメータ VARCHAR2(60); BEGIN :INOUTパラメータ := '名前'; パッケージ名.プロシージャ名( パラメータ => :INOUTパラメータ, パラメータ => '値', パラメータ => '値', パラメータ => '値' ); END; / print :INOUTパラメータ; 先頭から順番にパラメータを指定する場合はパラメータ名を省略できる。3つ指定すると先頭から3つの引数を順番に入れたことになる exec パッケージ名.プロシージャ名('値','値','値'); ファイル出力 †DBMS_XXXXで実行した結果をファイルに出力する場合に使用する。勝手に改行が入る結果などはファイルに出力することで1行で表示されるので便利。 BEGIN DBMS_ADVISOR.CREATE_FILE( パッケージ名.プロシージャ名(), -- ファイル出力したいプロシージャ 'DATA_PUMP_DIR', -- 出力先のディレクトリをディレクトリオブジェクトで指定 'ファイル名'); END; / サンプル †繰り返し処理 †CREATE OR REPLACE PROCEDURE test_proc(base IN number, cnt IN number) AS BEGIN FOR i IN 1..cnt LOOP DBMS_OUTPUT.PUT_LINE(base + i); END LOOP; END; / 実行 exec test_proc(1,1000); |