我收到这个错误:
必须声明表变量"@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'
)