2010-12-13 68 views
6

当我执行下列操作...执行在SQL Server 2005测试

EXEC 'DROP TABLE bkp_anish_test' 

'DROP TABLE bkp_anish_test'是一个动态生成的SQL查询)

我收到以下错误

莫非找不到存储过程'DROP TABLE bkp_anish_test'。

回答

0

你不需要使用EXEC来运行SQL语句。在查询编辑器中,只需运行

DROP TABLE bkp_anish_test 

如果表中的xyz数据库,试试这个

EXEC ('USE xyz ; DROP TABLE bkp_anish_test;'); 
+0

如果您发布的代码或XML,** **请在高亮文本编辑器的线和编辑器工具栏上的“代码”按钮(101 010)点击很好的格式和语法高亮显示! – 2010-12-13 06:13:33

2

而是执行此操作:

exec sp_executesql N'DROP TABLE bkp_anish_test' 

或动态构建字符串的情况:

declare @MyTable nvarchar(100) 
set @MyTable = N'bkp_anish_test' 

declare @sql nvarchar(100) 
set @sql = N'DROP TABLE ' + @MyTable 
exec sp_executesql @sql 
1

尝试增加括号你的命令。如果要使用EXEC命令,则必须在运行SQL语句时包含它们。

EXEC ('DROP TABLE bkp_anish_test')