FIX: CREATE TABLE in Stored Procedure May Fail With Error 1750

ID: Q150775


The information in this article applies to:

BUG#: 14884 (6.50)

SYMPTOMS

EXECuting a stored procedure that creates a temp or permanent table with defaults may fail with the error:

[INTERNAL ERROR] unable to locate original param in voidptr list.
Msg 1750, Level 16, State 0
Unable to create constraint. See previous errors.


CAUSE

If there is some activity in the stored procedure before the CREATE TABLE, this error can occur. In the simplest case, executing the following stored procedure will fail:


create proc sp_test1 as
begin
IF ( @@error <> 0 )
BEGIN
   GOTO cleanup
END
CREATE TABLE   #t1 (c1  int NOT NULL DEFAULT -1)
cleanup:
end
go
declare @rc int
EXEC @rc = sp_test1
SELECT @rc
go 


WORKAROUND

Use some other method than a CONSTRAINT, such as ISNULL, to get the default values you want into the 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.

Additional query words: sql65 default create table


Keywords          : kbprg SSrvProg SSrvStProc kbbug6.50 kbfix6.50.sp1 
Version           : 6.5
Platform          : WINDOWS 
Issue type        : 

Last Reviewed: March 26, 1999