FIX: AV Error Using Temp Table and Cursor in Stored Procedure
Article ID: 153987
Article Last Modified on 10/3/2003
APPLIES TO
- Microsoft SQL Server 6.5 Standard Edition
This article was previously published under Q153987
SYMPTOMS
A stored procedure that performs selects against a cursor with a temporary
table in the cursor will fail with an access violation or with the
following error message:
Msg 208 "Invalidobject name #temptable"
The problem will only occur after SQL Server has been shut down and
restarted after the initial creation of the stored procedure. If the stored
procedure is then dropped and re-created, it will work again until SQL
Server is shut down and restarted.
CAUSE
On recompile of the stored procedure, the temporary tables are not being
resolved properly if they are being invoked from inside a cursor.
WORKAROUND
The problem only occurs if both the temporary table and the cursor are both
created inside a stored procedure. Creating the temporary table outside of
the stored procedure will allow the stored procedure to function correctly.
An alternative workaround would be to convert the temporary table to a
permanent table.
STATUS
Microsoft has confirmed this to be a problem in Microsoft SQL Server
version 6.5. This problem has been corrected in U.S. Service Pack 1 for
Microsoft SQL Server version 6.5. For more information, contact your
primary support provider.
Keywords: kbbug kbfix kbnetwork KB153987