我有一個#temp
表,其中有存儲過程的名稱。DROP PROCEDURE拋出語法錯誤
DECLARE @object VARCHAR(200)
SET @object = (SELECT Top 1 Te.[this Object...] From #Temp Te)
IF OBJECT_ID(@object) IS NOT NULL
DROP PROCEDURE @object
但在最後一步,我得到錯誤
附近有語法錯誤@object「。
這是因爲@object
是VARCHAR
類型還是什麼?
這是SQL Server 2012
使用EXEC運行,你有一個字符串中構建一個SQL DROP語句 - 對象標識符/名稱不能是變量。 –