Dies ist für MS SQL 2005: Wer weiß, warum die erste erfolgreich ist, dann zwei der gleichen Anweisung in Folge nacheinander scheitert? Alle Aussagen sind genau gleich. Wenn Sie das doppelte Anführungszeichen in zwei einfache Anführungszeichen ändern, hat dies den gleichen Effekt.sp_MSforeachdb MS SQL-Fehler
sp
_
MSforeachdb @ command1 = ‚if (links (2) = "p_
" "?") Beginnen; drucken "?"; Ende;';produziert
p
_
NationalBrands
p_
NonBrand
p_
Database_
Namen_
Das_
Beginnt_
Mit_
P_
Underbar
aber
sp
_
MSforeachdb @ command1 = 'if (links ("?", 2) = "p_
") begin; drucken "?"; Ende;';
sp_
MSforeachdb @ command1 = 'if (links ("?", 2) = "p_
") begin; drucken "?"; Ende;';produziert
Msg 102, Ebene 15, Status 1, Zeile 2 falsche nahe Syntax 'sp_MSforeachdb'.
Eigentlich nur Anrufe nach dem ersten brauchen die Exec. (Persönlich würde ich es beide als eine Frage des Stils, aber es ist nicht erforderlich) – cmsjr