Cursor Variables

Translation reference for cursor variables and the OPEN FOR statement

Description

A cursor variable is like an explicit cursor that is not limited to one query.

(Oracle PL/SQL Language Reference Cursor Variable Declaration)

Ref cursor type definition

TYPE type IS REF CURSOR
  [ RETURN
    { {db_table_or_view | cursor | cursor_variable}%ROWTYPE
    | record%TYPE
    | record_type
    | ref_cursor_type
    }
  ] ;

Cursor variable declaration

cursor_variable type;

OPEN FOR statement

OPEN { cursor_variable | :host_cursor_variable}
  FOR select_statement [ using_clause ] ;

Sample Source Patterns

1. OPEN FOR statement with dynamic SQL inside a VARCHAR variable

2. OPEN FOR statement with dynamic SQL inside a string literal.

3. OPEN FOR statement with SELECT statement

4. Cursor Variable declared with REF CURSOR type

5. OPEN FOR statement with USING clause

Known Issues

No issues were found.

  1. MSCEWI3133: Cursor variable has already been assigned.

  2. MSCEWI3109: Expressions as arguments of Using Clause are not supported by Snowflake Scripting.

  3. MSCEWI1036: Data type converted to another data type.

  4. MSCEWI1058: Functionality is not currently supported by Snowflake Scripting.

  5. MSCCP0004: The statement below has usages of dynamic SQL.

Last updated

Was this helpful?