A cursor with the name '%.*ls' already exists.

Error Message:
Msg 16915, Level 16, State 1, Line 8
A cursor with the name ‘%.*ls’ already exists.

Severity level:
16.

Description:
This error message appears when you try to declare a cursot multiple times.

Consequences:
The T-SQL statement can be parsed, but causes the error at runtime.

Resolution:
Errors of the Severity Level 16 are generated by the user and can be fixed by the SQL Server user. The statement cannot be executed this way. You must first deallocate the cursor before you can reuse it.

Versions:
All versions of SQL Server.

Example(s):
USE Northwind
GO
DECLARE myCursor CURSOR READ_ONLY FOR
SELECT *
  FROM Northwind.dbo.Orders
OPEN myCursor
FETCH NEXT FROM myCursor

DECLARE myCursor CURSOR READ_ONLY FOR
SELECT *
  FROM Northwind.dbo.Orders

DEALLOCATE myCursor

Remarks:
In the above example we try to declare the cursor myCursor more than once without deallocating it first. This raises the error.

]]>

Leave a comment

Your email address will not be published.