我有一个#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语句 - 对象标识符/名称不能是变量。 –