OPEN <replaceable>unbound_cursor</replaceable> <optional> <optional> NO </optional> SCROLL </optional> FOR <replaceable>query</replaceable>;
OPEN <replaceable>unbound_cursorvar</replaceable> <optional> <optional> NO </optional> SCROLL </optional> FOR <replaceable>query</replaceable>;
</synopsis>
</synopsis>
<para>
<para>
The cursor variable is opened and given the specified query to
The cursor variable is opened and given the specified query to
execute. The cursor cannot be open already, and it must have been
execute. The cursor cannot be open already, and it must have been
declared as an unbound cursor (that is, as a simple
declared as an unbound cursor variable (that is, as a simple
<type>refcursor</> variable). The query must be a
<type>refcursor</> variable). The query must be a
<command>SELECT</command>, or something else that returns rows
<command>SELECT</command>, or something else that returns rows
(such as <command>EXPLAIN</>). The query
(such as <command>EXPLAIN</>). The query
...
@@ -2494,13 +2494,13 @@ OPEN curs1 FOR SELECT * FROM foo WHERE key = mykey;
...
@@ -2494,13 +2494,13 @@ OPEN curs1 FOR SELECT * FROM foo WHERE key = mykey;
<title><command>OPEN FOR EXECUTE</command></title>
<title><command>OPEN FOR EXECUTE</command></title>
<synopsis>
<synopsis>
OPEN <replaceable>unbound_cursor</replaceable> <optional> <optional> NO </optional> SCROLL </optional> FOR EXECUTE <replaceable class="command">query_string</replaceable>;
OPEN <replaceable>unbound_cursorvar</replaceable> <optional> <optional> NO </optional> SCROLL </optional> FOR EXECUTE <replaceable class="command">query_string</replaceable>;
</synopsis>
</synopsis>
<para>
<para>
The cursor variable is opened and given the specified query to
The cursor variable is opened and given the specified query to
execute. The cursor cannot be open already, and it must have been
execute. The cursor cannot be open already, and it must have been
declared as an unbound cursor (that is, as a simple
declared as an unbound cursor variable (that is, as a simple
<type>refcursor</> variable). The query is specified as a string
<type>refcursor</> variable). The query is specified as a string
expression, in the same way as in the <command>EXECUTE</command>
expression, in the same way as in the <command>EXECUTE</command>
command. As usual, this gives flexibility so the query plan can vary
command. As usual, this gives flexibility so the query plan can vary
...
@@ -2524,7 +2524,7 @@ OPEN curs1 FOR EXECUTE 'SELECT * FROM ' || quote_ident($1);
...
@@ -2524,7 +2524,7 @@ OPEN curs1 FOR EXECUTE 'SELECT * FROM ' || quote_ident($1);
<title>Opening a Bound Cursor</title>
<title>Opening a Bound Cursor</title>
<synopsis>
<synopsis>
OPEN <replaceable>bound_cursor</replaceable> <optional> ( <replaceable>argument_values</replaceable> ) </optional>;
OPEN <replaceable>bound_cursorvar</replaceable> <optional> ( <replaceable>argument_values</replaceable> ) </optional>;
FOR <replaceable>recordvar</replaceable> IN <replaceable>bound_cursor</replaceable> <optional> ( <replaceable>argument_values</replaceable> ) </optional> LOOP
FOR <replaceable>recordvar</replaceable> IN <replaceable>bound_cursorvar</replaceable> <optional> ( <replaceable>argument_values</replaceable> ) </optional> LOOP
<replaceable>statements</replaceable>
<replaceable>statements</replaceable>
END LOOP <optional> <replaceable>label</replaceable> </optional>;
END LOOP <optional> <replaceable>label</replaceable> </optional>;