SQL Server - как измельчить один многоэлементный XML в одноэлементные XML-значения, вставленные в таблицу?

Я борюсь с@x.nodes('...') как я новичок в XQuery. У меня есть переменная XML@x построен следующим образом:

CREATE TABLE tab (a int, b int, c int);
GO

INSERT INTO tab (a, b, c) VALUES (1, 11, 111);
INSERT INTO tab (a, b, c) VALUES (2, 22, 222);
INSERT INTO tab (a, b, c) VALUES (3, 33, 333);
INSERT INTO tab (a, b, c) VALUES (4, 44, 444);
GO

DECLARE @x XML = (SELECT * FROM tab FOR XML RAW, TYPE);

Когда отображается его содержимое, оно выглядит следующим образом:

<row a="1" b="11" c="111" />
<row a="2" b="22" c="222" />
<row a="3" b="33" c="333" />
<row a="4" b="44" c="444" />

то есть одна многострочная строка. Как можетshred одно многоэлементное значение XML для многих одноэлементных значений в таблице назначения? (Я знаю о официальномnode () Метод (тип данных xml) страница документации, но я делаю что-то не так.)

CREATE TABLE tab2 (e XML);

??? ... @x.nodes('//row') ... ???

Спасибо петя

Постскриптум Вопрос слабо связан сКомпонент Service Broker - как извлечь строки из сообщения XML?

Ответы на вопрос(1)

Ваш ответ на вопрос