Попробуйте что-то вроде этого:
INSERT INTO dbo.FirstTable(CustomerID, CustomerName, UserName, Password)
SELECT
@xmldata.value('(/Customers/Id)[1]', 'int'),
@xmldata.value('(/Customers/Name)[1]', 'varchar(50)'),
@xmldata.value('(/Customers/UserName)[1]', 'varchar(50)'),
@xmldata.value('(/Customers/Password)[1]', 'varchar(50)')
Вывод из оператора SELECT
выглядит примерно так:
CustomerID CustomerName UserName Password
1 foo TestUser pwd
Второй запрос:
INSERT INTO dbo.SecondTable(CustomerID, FirstName, LastName)
SELECT
@xmldata.value('(/Customers/Id)[1]', 'int'),
Cont.value('(FirstName)[1]', 'varchar(50)'),
Cont.value('(LastName)[1]', 'varchar(50)')
FROM
@xmldata.nodes('/Customers/Contacts') AS Cust(Cont)
Выводиз этого SELECT
есть:
CustomerID FirstName LastName
1 david lawr
1 john peter