【发布时间】:2016-08-03 12:47:57
【问题描述】:
我有一个#temp 表,其中有存储过程的名称。
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 语句 - 对象标识符/名称不能是变量。
标签: sql sql-server stored-procedures sql-server-2012