FIX: Cursor Declaration In a Stored Procedure Causes Client AV

ID: Q136966

The information in this article applies to: BUG# NT: 11169 (6.00)

SYMPTOMS

Cursor declaration inside a stored procedure with aggregates and a variable can cause a client access violation (AV) during the execution of the stored procedure.

WORKAROUND

Perform an initial SELECT with the entire WHERE clause and INSERT into a temporary table, such as:

   insert <temp storage>  select <cols>
   from <table> where <clauses>

followed by DECLARE CURSOR from the temporary table:

   declare cursor for select col1 = sum(...)
   from <temp storage>

STATUS

Microsoft has confirmed this to be a problem in SQL Server version 6.0. This problem was corrected in Service Pack 1 for SQL Server version 6.0. For more information, contact your primary support provider.

MORE INFORMATION

The replication scenario performs a DECLARE CURSOR by SELECTing an aggregate and has a variable referenced in the WHERE clause.

Additional query words: sql6 declare cursor av stproc

Keywords          : kbprg SSrvProg SSrvStProc kbbug6.00 kbfix6.00.sp1 
Version           : 6.0
Platform          : WINDOWS

Last Reviewed: May 2, 1997