DECLARE CURSOR
Syntax
<= MariaDB 10.2
DECLARE cursor_name CURSOR FOR select_statement
From MariaDB 10.3
DECLARE cursor_name CURSOR [(cursor_formal_parameter[,...])] FOR select_statement cursor_formal_parameter: name type [collate clause]
Description
This statement declares a cursor. Multiple cursors may be declared in a stored program, but each cursor in a given block must have a unique name.
select_statement
is not executed until the OPEN statement is executed. It is important to remember this if the query produces an error, or calls functions which have side effects.
A SELECT
associated to a cursor can use variables, but the query itself cannot be a variable, and cannot be dynamically composed. The SELECT
statement cannot have an INTO
clause.
Cursors must be declared before HANDLERs, but after local variables and CONDITIONs.
From MariaDB 10.3.0, cursors can have parameters. This is a non-standard SQL extension. Cursor parameters can appear in any part of the DECLARE CURSOR select_statement where a stored procedure variable is allowed (select list, WHERE, HAVING, LIMIT etc).
See Cursor Overview for an example.
See Also
© 2021 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/declare-cursor/