cursor (Transact-SQL)

**APPLIES TO:** ![yes](media/yes.png)SQL Server (starting with 2008) ![yes](media/yes.png)Azure SQL Database ![no](media/no.png)Azure SQL Data Warehouse ![no](media/no.png)Parallel Data Warehouse

A data type for variables or stored procedure OUTPUT parameters that contain a reference to a cursor.

Remarks

The operations that can reference variables and parameters having a cursor data type are: - The DECLARE @local_variable and SET @local_variable statements.
- The OPEN, FETCH, CLOSE, and DEALLOCATE cursor statements.
- Stored procedure output parameters.
- The CURSOR_STATUS function.
- The sp_cursor_list, sp_describe_cursor, sp_describe_cursor_tables, and sp_describe_cursor_columns system stored procedures.

The cursor_name output column of sp_cursor_list and sp_describe_cursor returns the name of the cursor variable.

Any variables created with the cursor data type are nullable.

The cursor data type cannot be used for a column in a CREATE TABLE statement.

See also

CAST and CONVERT (Transact-SQL)
CURSOR_STATUS (Transact-SQL)
Data Type Conversion (Database Engine)
Data Types (Transact-SQL)
DECLARE CURSOR (Transact-SQL)
[DECLARE @local_variable (Transact-SQL)](../../t-sql/language-elements/declare-local-variable-transact-sql.md)
[SET @local_variable (Transact-SQL)](../../t-sql/language-elements/set-local-variable-transact-sql.md)