ハロの外部記憶インターフェイス

そろそろ覚える努力が必要かも…

カーソルの使い方1

  • 宣言部でカーソルを宣言

CURSOR C1 IS
SELECT CLM1,CLM2 FROM <テーブル名>
WHERE <条件> AND CTABLE=PLSQLVALUE;

※ C1はカーソルの名前, SELECT文は普通に入れるけどPLSQLの変数も使えます PLSQLVALUEはPLSQL内部で宣言された変数で代入して値が適用されます。
※ カラムは複数指定可能

  • 本文では下記の形で使用します。

BEGIN
 PLSQLVALUE := 'ABC';
FOR C1_REC IN C1 LOOP
RET2:= C1_REC.CLM1 + C1.REC.CLM2;
END LOOP;
END;
/

※ カーソル宣言で複数の行があったら C1_RECでレコード単位で廻る。その時の値はC1_REC.CLM1 の形で使用出来ます。
※ 活用の方法は色々
PLSQLVALUEが設定された時点の値でカーソルは動きます。