このステートメントを試してください:
SELECT Pers.value('(ID)[1]', 'int') as 'ID', Pers.value('(Name)[1]', 'Varchar(50)') as 'Name', Pers.value('(LastName)[1]', 'varchar(50)') as 'LastName' FROM @YourXml.nodes('/Employees/Person') as EMP(Pers)
プレ>これにより、そのデータの適切な行/列表現が得られます。
もちろん、これを INSERT ステートメントの 2 番目の部分に拡張することもできます:
INSERT INTO dbo.YourTargetTable(ID, Name, LastName) SELECT Pers.value('(ID)[1]', 'int') as 'ID', Pers.value('(Name)[1]', 'Varchar(50)') as 'Name', Pers.value('(LastName)[1]', 'varchar(50)') as 'LastName' FROM @YourXml.nodes('/Employees/Person') as EMP(Pers)
プレ>完了 - ループやカーソル、またはそのようなひどいものは必要ありません! :-)