我有一個塊代碼來創建一個過程:程序錯誤「必須聲明表」
CREATE PROCEDURE GetTableinfomation
@table nvarchar(50),
@column nvarchar(50),
@valuedk nvarchar(50)
AS
BEGIN
SELECT *
FROM @table
WHERE @column = @valuedk
END
和我具有誤差。
消息1087,級別15,狀態2,過程GetTableinfomation,7號線
必須聲明表變量 「@tenbang」。
爲什麼?
正如所暗示的另一個答案'SELECT * FROM @ table'假定你已經用'DECLARE @table TABLE(id INT,etc VARCHAR(16))'創建了一個表變量。您需要構建一個新的SQL字符串並用該新字符串調用'EXEC'或*(最好)*'sp_executesql'。 – MatBailie