2010-12-13 51 views
6

Quand je suis exécution à la suite ...exécution d'un test dans SQL Server 2005

EXEC 'DROP TABLE bkp_anish_test' 

('DROP TABLE bkp_anish_test' est une construction dynamique requête SQL)

Je reçois l'erreur suivante

pourrait pas trouvé la procédure stockée 'DROP TABLE bkp_anish_test'.

Répondre

0

Vous ne avez pas besoin d'utiliser EXEC pour exécuter l'instruction SQL. Dans l'éditeur de requête, il suffit d'exécuter

DROP TABLE bkp_anish_test 

si la table est dans la base de xyz, essayez cette

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

Si vous publiez code ou XML, ** S'il vous plaît ** mettre en évidence les lignes dans l'éditeur de texte et cliquez sur le bouton « code » (101 010) sur la barre d'outils de l'éditeur pour mettre en forme bien et la syntaxe mettre en évidence! –

2

Pour ce faire, à la place:

exec sp_executesql N'DROP TABLE bkp_anish_test' 

ou pour le cas d'une chaîne construite dynamiquement:

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

Essayez d'ajouter entre parenthèses à votre commande. Vous devez les inclure lors de l'exécution d'une instruction SQL si vous utilisez la commande EXEC.

EXEC ('DROP TABLE bkp_anish_test')