PL/SQLプログラムでのカーソルの使用
明示または暗黙のいずれのカーソルも、SELECT
文の結果セットの処理に使用されます。
プログラマは明示カーソルを宣言して、複数のデータ行を戻す問合せを管理できます。PL/SQLは、明示カーソルと関連付けられていないSELECT
文に対して、暗黙カーソルを宣言し、オープンします。
ノート:
TimesTenでは、トランザクションを終了する操作は、接続と関連付けられているすべてのカーソルをクローズします。これにはすべてのCOMMIT
またはROLLBACK
文およびDDL文が含まれます。このため、DDL文は自動コミットされます。「TimesTenにおける相違点: トランザクション動作」を参照してください。
次の例は、カーソルの基本的な使用方法を示しています。追加情報と例については、「カーソルを使用する例」を参照してください。「PL/SQL REF CURSOR」も参照してください。
カーソルc1
を宣言して、従業員IDが120の従業員の姓、給与、入社日およびジョブ・クラスを取得します。
Command> DECLARE
CURSOR c1 IS
SELECT last_name, salary, hire_date, job_id FROM employees
WHERE employee_id = 120;
--declare record variable that represents a row
--fetched from the employees table
employee_rec c1%ROWTYPE;
BEGIN
-- open the explicit cursor
-- and use it to fetch data into employee_rec
OPEN c1;
FETCH c1 INTO employee_rec;
DBMS_OUTPUT.PUT_LINE('Employee name: ' || employee_rec.last_name);
CLOSE c1;
END;
/
Employee name: Weiss
PL/SQL procedure successfully completed.