SQL Server 2000 原生支援 XML,查詢可直接回傳 XML,亦可透過 XML 修改資料庫資料。只需在 SELECT 陳述式加上 FOR XML 子句即可。
| 模式 | 輸出範例 | 特點 |
|---|---|---|
| FOR XML AUTO | <download ID="1" Filename="..." /> | 依資料表結構自動產生屬性中心 XML |
| FOR XML RAW | <row ID="1" Filename="..." /> | 統一使用 <row> 元素,屬性中心 |
| FOR XML AUTO, ELEMENTS | <download><ID>1</ID>...</download> | 元素中心 XML,巢狀結構清晰 |
| FOR XML EXPLICIT | <DownloadXML ID="1" Filename="..." /> | 完全控制 XML 結構,定義複雜但功能最強 |
OPENXML 可解析 XML 文件產生資料列集,視同資料表操作。配合 sp_xml_preparedocument/sp_xml_removedocument 管理文件控制代碼,實現 XML 資料的插入、更新、刪除。
DECLARE @hDoc INT, @xml VARCHAR(1000)
SET @xml = ' '
EXEC sp_xml_preparedocument @hDoc OUTPUT, @xml
SELECT * FROM OPENXML(@hDoc, '/Root/download', 2)
WITH (ID INT, Filename VARCHAR(100))
EXEC sp_xml_removedocument @hDoc
XML 整合讓 SQL Server 2000 成為優異的資料交換與整合平台,下期將介紹聯合資料庫伺服器。