Cursor の属性

SQL スクリプトでカーソルの属性を取得できます。カーソルの詳細については、「DECLARE CURSOR 型変数」、「OPEN」、「FETCH」、および「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;