OPEN (SQL)
カーソルをオープンします。
構文
OPEN cursor-name
概要
OPEN 文は、カーソルの DECLARE 文で指定されているパラメータに従ってカーソルをオープンします。オープンすると、カーソルを取得できます。オープンしたカーソルは、クローズする必要があります。
-
宣言されていないカーソルをオープンしようとすると、SQLCODE -52 エラーが返されます。
-
既にオープンしているカーソルをオープンしようとすると、SQLCODE -101 エラーが返されます。
-
オープンしていないカーソルをフェッチまたはクローズしようとすると、SQLCODE -102 エラーが返されます。
OPEN を正常に実行できると、結果セットが空の場合でも SQLCODE = 0 が設定されます。
SQL 文として、埋め込み SQL からのみサポートされます。同様の操作は、ODBC でも ODBC API を使用してサポートされます。
引数
cursor-name
既に宣言されている、カーソルの名前。カーソル名は DECLARE 文で指定されています。カーソル名は、大文字と小文字を区別します。
例
以下は、EmpCursor という名前のカーソルをオープンしてクローズする埋め込み SQL の例です。
SET name="LastName,FirstName",state="##"
&sql(DECLARE EmpCursor CURSOR FOR
SELECT Name, Home_State
INTO :name,:state FROM Sample.Person
WHERE Home_State %STARTSWITH 'A')
WRITE !,"BEFORE: Name=",name," State=",state
&sql(OPEN EmpCursor)
IF SQLCODE '= 0 { WRITE "Open error: ",SQLCODE
QUIT }
NEW %ROWCOUNT,%ROWID
FOR { &sql(FETCH EmpCursor)
QUIT:SQLCODE
WRITE !,"DURING: Name=",name," State=",state }
WRITE !,"FETCH status SQLCODE=",SQLCODE
WRITE !,"Number of rows fetched=",%ROWCOUNT
&sql(CLOSE EmpCursor)
WRITE !,"AFTER: Name=",name," State=",state
関連項目