FIX: CREATE TABLE in Stored Procedure May Fail With Error 1750 (150775)
The information in this article applies to:
This article was previously published under Q150775
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.
Modification Type: | Major | Last Reviewed: | 10/3/2003 |
---|
Keywords: | kbBug kbfix kbProgramming KB150775 |
---|
|