Reference Guide > TDV SQL Script > SQL Script Statement Reference > DECLARE CURSOR of Type Variable
 
型変数の<g1>DECLARE CURSOR</g1>
一意の名前を指定し、オプションでそのデータタイプを指定することにより、SQLスクリプトで新しいカーソル変数を定義できます。
詳細については、カーソルの属性OPENFETCH、およびCLOSEを参照してください。
構文
DECLARE <variableName> CURSOR [<dataType>]
備考
<dataType>はオプションであり、名前付きROWデータタイプまたはROWデータタイプの構文にすることができます。
宣言されると、カーソル変数はNULLに初期化されます。宣言時に他の値に初期化することはできません。
次のように、OPENステートメントでSCROLLキーワードを使用して、カーソルから行がフェッチされた後にカーソルを開くことができます。
DECLARE i INT;
DECLARE x CURSOR (a int) FOR SELECT COUNT(*) FROM /services/databases/system/ALL_USERS;
OPEN x SCROLL;
次の例では、名を返します。
PROCEDURE p (OUT p_name VARCHAR)
BEGIN
  DECLARE c CURSOR (name VARCHAR);
  OPEN c FOR SELECT name FROM /shared/T;
  FETCH c INTO p_name;
  CLOSE c;
END
 
次の例では、同じクエリでcを閉じてから再度開き、後で閉じて新しいクエリで再度開きます。
PROCEDURE p (OUT p_name VARCHAR)
BEGIN
  DECLARE c CURSOR (name VARCHAR);
  OPEN c FOR SELECT name FROM /shared/T;
  CLOSE c;
  OPEN c;
  CLOSE c;
  OPEN c FOR SELECT name FROM /share/U WHERE birthdate > '2000-01-01';
  CLOSE c;
END