FIX: Update on View-based Cursor Fails to Modify Row if View Contains a Join (238547)



The information in this article applies to:

  • Microsoft SQL Server 7.0

This article was previously published under Q238547
BUG #: 56059 (SQLBUG_70)

SYMPTOMS

An update, with a cursor that is based on a view, can fail to update a row if the view is based on a join of one or more tables. ODBC applications may encounter a SQL_SUCCESS_WITH_INFO message "Cursor operation conflict" in this situation because no rows were affected by the cursor update. If you are using an ANSI T-SQL based cursor, an UPDATE statement in this scenario fails with the following error:
Msg 16947, Level 16, State 1
No rows were updated or deleted.

WORKAROUND

Define the cursor with the query on which the view is defined.

STATUS

Microsoft has confirmed this to be a problem in SQL Server 7.0. This problem has been corrected in U.S. Service Pack 2 for Microsoft SQL Server 7.0. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

254561 INF: How to Obtain Service Pack 2 for Microsoft SQL Server 7.0 and Microsoft Data Engine (MSDE) 1.0

For more information, contact your primary support provider.

Modification Type:MajorLast Reviewed:3/14/2006
Keywords:kbBug kbfix KB238547