我目前能夠將1個XML轉換爲表格,但我試圖將所有xml都轉換爲一張表格。我有大約600萬個XML條目,我希望一次完成,然後進行排序。有任何想法嗎?SQL Server:將多個XML轉換爲表格
DECLARE @docHandle INT;
SET @docHandle = 0;
DECLARE @xml XML;
SELECT @xml = XMLData
FROM DaTable
WHERE FileType = 'Transaction';
EXEC sp_xml_preparedocument @docHandle OUTPUT, @xml;
SELECT sub.id, sub.localname, val.[text]
FROM OPENXML(@docHandle, N'') AS par
LEFT JOIN OPENXML(@docHandle, N'') AS sub
ON sub.parentid = par.id
LEFT JOIN OPENXML(@docHandle, N'') AS val
ON val.parentid = sub.id
WHERE sub.localname != 'xsd'
AND sub.localname != 'xsi'
AND sub.localname != '#text';
輸出:
id localname text
---------------------------------------------
4 ID 436875364
5 TP_CUSTOMER_ID 400108792109
6 TP_ACCOUNT_ID 400204158957
7 TP_ACCOUNT_TXN_ID 409420594138
8 INSTITUTION_TXN_ID INTUIT-409420594138
9 POSTED_DATE 2016-05-14T03:00:00
向我們展示一些XML。這應該很容易用XML方法代替OPENXML。但是它的不同之處在於我們需要了解XML的外觀。 – RBarryYoung