PL/SQL

PRINT文出力

PL/SQLでDEBUG文を出力する方法です。

DBMS_OUTPUT.ENABLE(100000);--出力のバッファサイズ
str := 'ST  ' || to_char(sysdate, 'yyyy/mm/dd hh24:mi:ss');
DBMS_OUTPUT.PUT_LINE(str);

sqlplus でDBMS_OUTPUT.PUT_LINEを実行する場合は、
set serveroutput on にしておく必要あり。

ファンクションの実行

sqlplus におて、プロシージャ、関数の実行方法です。

プロシージャ:
SQL> execute proc_a('12');

関数:
SQL> variable a number;
SQL> execute :a := func_a('12');
SQL> print :a

カーソルの使い方

--カーソルの宣言
CURSOR CUR_EQUIP IS
 SELECT AD.EQUIP_CLASS, AD.EQUIP_PLACE,
  DECODE(PR.SLS_MDL_YEAR, '1', AD.SLS_MDL_YEAR, NULL) AS SLS_MDL_YEAR
  FROM TBL_M_EQUIP_PRIORITY PR, TBL_M_ADDITIONAL_EQUIP AD
  WHERE   PR.IMP_CD   = P_IMP_CD
  ORDER by PR.PRIORITY;

--カーソル変数の宣言
REC_EQUIP  CUR_EQUIP%ROWTYPE;

--カーソルオープン
OPEN CUR_EQUIP;

--LOOPでFETCH
LOOP
 FETCH CUR_EQUIP INTO REC_EQUIP;
 EXIT WHEN CUR_EQUIP%NOTFOUND;
 処理・・・
END LOOP;

--カーソルクローズ
CLOSE CUR_EQUIP;
タイトルとURLをコピーしました