Microsoft KB Archive/214818

= FIX: UPDATE of Table Column with a FOREIGN KEY Constraint May Fail with Msg 8623 =

Article ID: 214818

Article Last Modified on 3/14/2006

-

APPLIES TO


 * Microsoft SQL Server 7.0 Standard Edition

-



This article was previously published under Q214818



BUG #: 53943 (SQLBUG_70)



SYMPTOMS
Attempting to update a column using a declared variable may fail if that column has a FOREIGN KEY (FK) constraint and the FROM clause references multiple tables. In such cases, the following error message occurs:

Server: Msg 8623, Level 16, State 2, Line 8

Internal Query Processor Error: The query processor could not produce a query plan.

For example, the following would cause the error:

declare @c1 int select @c1 = update secondary_tbl set c1 = @c1 from secondary_tbl p,child_1 t1, child_2 t2  where  p.s1 = t1.s1



WORKAROUND
To work around this problem, use CONVERT to cast the variable to its data type. In the preceding example, replace:

update secondary_tbl set c1 = @c1

with:

update secondary_tbl set c1 = convert(int,@c1)



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.

Additional query words: datatype fk fkey const err qp

Keywords: kbbug kbfix KB214818

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.