Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

sql server xml.value squelette cas dynamiques

Vous pouvez utiliser nodes() pour déchiqueter le XML en lignes sur POSDetails niveau élément, puis utilisez value() pour extraire le texte interne de PSTATION et INVNUMBER comme données NVARCHAR, quelque chose comme ceci :

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)