我正在从变量执行动态查询,但始终显示:
找不到存储过程
我尝试使用更简单的查询,例如set @query = 'select * from [table_name]'
,但它给出了相同的错误。
CREATE TABLE #test(
id int identity (1,1) not null,
name varchar(200)
)
DECLARE @TRIGER_NAME VARCHAR(200)
DECLARE @V_MAX INT
DECLARE @V_MIN INT
DECLARE @QUERY VARCHAR(MAX)
SELECT @V_MAX = MAX(id)
FROM #test
SELECT @V_MIN=Min(id)
FROM #test
WHILE @V_MIN <= @V_MAX
BEGIN
SELECT @TRIGER_NAME = name
FROM #test
WHERE id = @V_MIN
SET @QUERY = 'DROP TRIGGER '+ @TRIGER_NAME;
EXEC @query
SET @V_MIN = @V_MIN+1
END
在我的临时表中是所有触发器名称的列表,因此我想要获得的预期输出是成功完成的命令。不是“找不到存储过程”,因为我应该执行动态查询而不是存储过程。
答案 0 :(得分:2)