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.