在SQL Server 2005中执行测试

6
当我执行以下代码时...
EXEC 'DROP TABLE bkp_anish_test'

('DROP TABLE bkp_anish_test' 是一个动态构建的 SQL 查询语句)

我遇到了以下错误

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

3个回答

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')

0

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

DROP TABLE bkp_anish_test

如果表格在 xyz 数据库中,请尝试以下操作。
 EXEC ('USE xyz ; DROP TABLE bkp_anish_test;');

1
如果您发布代码或XML,请在文本编辑器中突出显示这些行,并单击编辑器工具栏上的“代码”按钮(101 010)以使其格式化和语法高亮! - marc_s

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接