У меня есть XML, как указано ниже,Как вставить различные значения XML полей в столбце таблицы
Declare @Message as xml
set @Message='<message>
<body>
<ID>1</ID>
<setup_time>10</setup_time>
<prod_cycle_time>10</prod_cycle_time>
<unit>cas</unit>
<Flag>NULL</Flag>
<FillingPO>NULL</FillingPO>
<PackAtCAN1>NULL</PackAtCAN1>
</body>
</message>'
Я пытаюсь вставить, используя ниже запроса
INSERT into table(ID,Desc,Value)
SELECT p.value('ID[1]','INT'),
p.value('Desc[1]','NVARCHAR(50)'),
p.value('Value[1]','NVARCHAR(40)')
FROM @message.nodes('/message/Body/') x(p)
Я хочу, чтобы вставить выше XML данные, как указано ниже формате
ID Desc Value
1 setup_time 10
1 prod_cycle_time 10
1 unit Case
1 Flag NULL
1 FillingPO NULL
1 PackAtCAN1 NULL
Но я в состоянии вставить только одну запись
Выше заявление работает, если тег выше
тега. Но то же самое не работает, если тегЕсли ' ID' находится в теге тела, тогда вам просто нужно c укажите, где вы его ищете - например, 'p.value ('ID [1]', 'INT')' – GarethD
Выше инструкция возвращает все теги xml и ее значения в формате таблицы. Но если мне нужно немного подавать значения, то как делать .xml-поля, такие как поля «setup_time, prod_cycle_time, unit» и его значения. – user3237193