Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

casos dinâmicos de esqueleto de xml.value do sql server


Você pode usar nodes() para destruir o XML em linhas em POSDetails nível de elemento, então use value() para extrair o texto interno de PSTATION e INVNUMBER como dados NVARCHAR, algo assim:
INSERT INTO @Emp(ps,inv)
SELECT 
    P.value('(PSTATION)[1]', 'NVARCHAR(MAX)'),
    P.value('(INVNUMBER)[1]', 'NVARCHAR(MAX)')
FROM @Xml.nodes('/NewDataSet/POSDetails') AS T(P)