Ich muss eine Tabelle mit einem XML erstellen.XML zu tsql Select-Anweisung gibt nur eine Zeile zurück
Das ist mein xml:
<root>
<Child>c1</Child>
<Child>c2</Child>
<Child>c3</Child>
<Child>c4</Child>
<ID>9908</ID>
</root>
Mein Versuch:
DECLARE @ixml INT,
@Param VARCHAR(max)='<root>
<Child>c1</Child>
<Child>c2</Child>
<Child>c3</Child>
<Child>c4</Child>
<ID>9908</ID>
</root>'
EXEC sp_xml_preparedocument @ixml OUTPUT, @Param
Select Child,ID
FROM OPENXML(@ixml, 'root')
WITH
(
Child [nVARCHAR](max) 'Child',
ID [INT] 'ID'
)
----------
tatsächliche Ausgang:
Child | ID
c1 | 9908
Erwartete Ausgabe:
Child | ID
c1 | 9908
c2 | 9908
c3 | 9908
c4 | 9908
kann mir jemand helfen?
würde ich vorschlagen, dass Sie versuchen, nur die "Child" -Elemente auswählen, dann fügen Sie die 'ID', nachdem Sie das Recht – MartinByers
' FROM OPENXML' mit den entsprechenden SPs zur Vorbereitung haben und ein Dokument zu entfernen ist veraltet und sollte nicht mehr verwendet werden. Verwenden Sie stattdessen die entsprechenden [Methoden, die der XML-Datentyp bietet] (https://msdn.microsoft.com/en-us/library/ms190798.aspx). – Shnugo