Name XML-Ergebnisspalte von TSQL "für xml explizit"?

8

Ich habe eine Abfrage, die for xml explit verwendet, um das XML-Ergebnis zurückzugeben.

wählen ...  von ...  Sortieren nach [BatchType! 1! TypeName], [FormType! 2! TypeName], Tag, Parent  für xml explizit, root ('ClientImages')

Aber der Name des resultierenden Spaltennamens ist so kryptisch wie

Gibt es eine Möglichkeit, den Spaltennamen zu ändern?

[ANTWORT] Ich hatte mehrere verschachtelte WITH -Anweisungen, also habe ich das Ergebnis der Abfrage gespeichert, ohne FOR XML EXPLICIT auf eine temporäre Tabelle @xmlTable anzuwenden, und dann das XML EXPLICIT-Ergebnis auf einen XML-Wert gesetzt und dann zurückgegeben.

%Vor%     
Sung 14.10.2009, 14:14
quelle

3 Antworten

7

Nein, soweit ich weiß, gibt es das nicht. SQL Server Management Studio generiert automatisch einen solchen Namen für Ihr XML.

Sie können möglicherweise Ihre Ausgabe zuerst einer XML-Variablen zuweisen und diese dann auswählen, um einen "netten" Spaltennamen zu erhalten:

%Vor%

aber ansonsten ist mir keine Möglichkeit bekannt, den Namen der von SSMS generierten Spalte zu beeinflussen.

Marc

    
marc_s 14.10.2009, 14:22
quelle
17

- fügen Sie eine Auswahl (zuerst) und geben Sie (am Ende) und als [etwas]

%Vor%     
guille 13.11.2009 21:08
quelle
0

Wenn Sie Namespaces in Ihrem zurückgegebenen XML benötigen:

%Vor%

Sie können auch das NS0-Namespacepräfix in der Unterauswahl verwenden.

    
Jay 25.02.2016 21:16
quelle

Tags und Links