FIX: 16933 Error on View Updated Through Server Cursor

ID: Q149917


The information in this article applies to:

BUG#: 13762 (6.00)

SYMPTOMS

Applications attempting to update a view through SQL Server server cursors will receive the following error even if the operation observes the SQL Server requirement that updates through views only update a single base table:

Msg 16933, Level 16, State 2
The cursor does not include the table being modified.


WORKAROUND

Open the cursor with a select against the base tables instead of the view. Alternatively, open a second connection and issue an SQL update command based on key values through the second connection.


STATUS

Microsoft has confirmed this to be a problem in the Microsoft SQL Server version 6.00. This problem was corrected in SQL Server version 6.50.


MORE INFORMATION

There are two types of applications that encounter this problem with server cursors. Db-library applications can run into the problem if they have opened a server cursor and attempt a dbcursor() command with the CRS_UPDATE option. ODBC applications using the Microsoft SQL Server ODBC Driver can encounter this when they have a server cursor open and attempt a SQLSetPos() command with the SQL_UPDATE option.

Cursor scripts using UPDATE ... WHERE CURRENT OF cursor_name are not affected.

Note that the above error is valid if the update is attempting to update columns from more than one of the base tables referenced by the view. Users getting the above error should first determine if their update is exceeding this SQL Server requirement.

Additional query words: default


Keywords          : kbprg SSrvProg kbbug6.00 
Version           : 6.0
Platform          : WINDOWS 
Issue type        : 

Last Reviewed: March 25, 1999