Updated on 2024-05-07 GMT+08:00

DECLARE

Description

Declares a cursor for iterating over the result set of a prepared statement. This command is slightly semantically different from the SQL command DECLARE: Whereas the latter executes a query and prepares the result set for retrieval, this embedded SQL command merely declares a name as a "loop variable" for iterating over the result set of a query; the actual execution happens when the cursor is opened with the OPEN command.

Syntax

DECLARE cursor_name [ BINARY ]  [ NO SCROLL ] CURSOR [ { WITH | WITHOUT } HOLD ] FOR prepared_name
DECLARE cursor_name [ BINARY ]  [ NO SCROLL ] CURSOR [ { WITH | WITHOUT } HOLD ] FOR query

Parameters

  • cursor_name

    Cursor name, which is case sensitive. It can be an SQL identifier or a host variable.

  • prepared_name

    Name of the prepared query, which can be an SQL identifier or a host variable.

  • query

    A SELECT command for providing the rows to be returned by the cursor.

For details about the cursor options, see DECLARE.

Examples

Examples of declaring a cursor used for query:
EXEC SQL DECLARE C CURSOR FOR SELECT * FROM My_Table; 
EXEC SQL DECLARE C CURSOR FOR SELECT Item1 FROM T; 
EXEC SQL DECLARE cur1 CURSOR FOR SELECT version();
Example of declaring a cursor for a prepared statement:
EXEC SQL PREPARE stmt1 AS SELECT version(); 
EXEC SQL DECLARE cur1 CURSOR FOR stmt1;

Helpful Links

OPEN