必须声明表变量"@table" 。在IF条件下,任何人都可以解决?



我收到这个错误:

必须声明表变量"@table">

来自我下面的代码;在CCD_ 1条件下。有人能解决这个问题吗?

ALTER PROCEDURE [dbo].[dummyInsert]
@id INT,
@table NVARCHAR(50)
AS
IF (SELECT COUNT(*) FROM @table WHERE id = @id) < 1
BEGIN
EXEC ('INSERT INTO ['+table +'] ([id])VALUES('''+ @id +''')')
END

您还需要将IF放入动态SQL中。

EXEC('
IF (SELECT COUNT(*) FROM [' + @table + '] WHERE [id] = ' + @id + ') < 1
BEGIN
INSERT INTO ['+ @table +'] ([id])VALUES('+ @id +')
END'
)

最新更新