リファレンスガイド> TDV SQLスクリプト> SQL言語の概念> カーソルの属性
 
カーソルの属性
SQLスクリプトでカーソルの属性を取得できます。 型変数のカーソルの宣言OPENFETCHカーソルの詳細については、、およびCLOSEを参照してください。
構文
<cursor>.<attribute>
備考
次の表で、カーソル属性について説明します。
属性
説明
ISOPEN
カーソルが開いているかどうかを示すブール値
ROWTYPE
カーソルのROWデータタイプ。型指定されていないカーソルの場合はNULLです。
ROWCOUNT
カーソルが開いている場合にカーソルからフェッチされた行数。開いていない場合はNULLです。
FOUND
カーソルからの最後のフェッチで行が見つかった場合にtrueとなるブール値。開いていない場合はNULL、または開いていてからフェッチされていない場合はNULLです。
次の例では、VARCHARのカーソルのnth値を返します。
PROCEDURE nth (IN n INTEGER, IN crs CURSOR(name VARCHAR), OUT name VARCHAR)
a_lab:
BEGIN
IF NOT crs.ISOPEN THEN
OPEN crs;
END IF;
LOOP
FETCH crs INTO name;
IF NOT crs.FOUND OR nth >=crs.ROWCOUNT THEN
LEAVE a_lab;
END IF;
END LOOP;
CLOSE crs;
END
 
次の例では、ROWTYPE属性を使用しています。
CURSOR m1 IS
SELECT last_name, hire_date, job_id
FROM employees
WHERE employee_id = 5446;
employee_rec m1%ROWTYPE;
 
BEGIN
OPEN m1;
FETCH m1 INTO employee_rec;
DBMS_OUTPUT.PUT_LINE('Employee name: ' || employee_rec.last_name);
END;