Name
OPEN
Synopsis
The OPEN
command opens a server cursor created with a DECLARE
CURSOR
statement. MySQL does not support ANSI-style
server-side cursors.
Vendor |
Command |
---|---|
SQL Server |
Supported |
MySQL |
Not supported |
Oracle |
Supported |
PostgreSQL |
Supported |
SQL99 Syntax and Description
OPEN { cursor_name }
The cursor_name
is the name of the cursor
created with the DECLARE CURSOR
command.
In addition to standard server cursors, Microsoft SQL Server allows
global cursors to be declared (in the format OPEN GLOBAL
cursor_name
) that can be referenced by multiple users.
Plus, Oracle allows parameters to be passed directly into the cursor
when it is opened (in the format OPEN cursor_name
parameter1 [,...n]
).
Example
The following example from Microsoft SQL Server opens a cursor and
fetches all the rows. The same functionality in Oracle and PostgreSQL
could be accomplished without the final
DEALLOCATAE
clause:
DECLARE employee_cursor CURSOR FOR SELECT lname, fname FROM pubs.dbo.authors WHERE lname LIKE 'K%' OPEN employee_cursor FETCH NEXT FROM employee_cursor WHILE @@FETCH_STATUS = 0 BEGIN FETCH NEXT FROM Employee_Cursor END CLOSE employee_cursor DEALLOCATE employee_cursor -- DEALLOCATE is specific to Microsoft SQL Server and non-ANSI -- standard.
Get SQL in a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.