Ceci est pour MS SQL 2005: Quelqu'un sait pourquoi le premier succès, puis la création de deux de la même déclaration échoue? Toutes les déclarations sont exactement les mêmes. Changer le double guillemet en deux guillemets simples a le même effet.sp_MSforeachdb MS erreur SQL
sp
_
MSforeachdb @ command1 = « si (à gauche (2) = "p_
" "?") Commencent; impression "?"; fin;';produit
p
_
NationalBrands
p_
NonBrand
p_
Database_
Nom_
Ce_
Begins_
Avec_
P_
Underbar
mais
sp
_
MSforeachdb @ command1 = 'if (left ("?", 2) = "p_
") begin; impression "?"; fin;';
sp_
MSforeachdb @ command1 = 'if (left ("?", 2) = "p_
") begin; impression "?"; fin;';produit
Msg 102, niveau 15, état 1, ligne 2 syntaxe incorrecte près de 'sp_MSforeachdb'.
En fait, seuls les appels postérieurs au premier nécessitent l'exec. (Personnellement, je le mettrais sur les deux pour des raisons de style, mais ce n'est pas obligatoire) – cmsjr