2010-12-13 4 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 

если таблица в базе данных хуга, попробуйте этот

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

Если вы разместите код или XML, ** пожалуйста ** выделить эти строки в текстовом редакторе и нажмите на кнопку «Код» (101 010) на панели инструментов редактора, чтобы красиво форматировать и синтаксиса выделите его! –

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

Попробуйте добавить скобки к вашей команде. Вы должны включить их при выполнении инструкции SQL, если вы собираетесь использовать команду EXEC.

EXEC ('DROP TABLE bkp_anish_test')