【发布时间】:2012-11-21 12:20:40
【问题描述】:
我有一个这样的表(实际上它包含更多的 6000 条记录)
IdIndustry | IndustryCode | IndustryName | ParentId
---------------------------------
1 | IND | Industry | NULL
2 | PHARM | Pharmacy | 1
3 | FIN | Finance | NULL
4 | CFIN | Corporate | 3
5 | CMRKT | Capital M | 4
DDL:
CREATE TABLE [dbo].[tblIndustryCodes](
[IdIndustry] [int] IDENTITY(1,1) NOT NULL,
[IndustryCode] [nvarchar](5) NULL,
[IndustryName] [nvarchar](50) NULL,
[ParentId] [int] NULL,
CONSTRAINT [PK_tblIndustryCodes] PRIMARY KEY CLUSTERED ([IdIndustry] ASC)
插入:
INSERT INTO [tblIndustryCodes]
([IndustryCode]
,[IndustryName]
,[ParentId])
VALUES
('IND','Industry',NULL),
('PHARM','Pharmacy',1),
('FIN','Finance',NULL),
('CFIN','Corporate Finance',3),
('CMRKT','Capital Markets',4)
我想生成一个这样的 XML 文件(简化树状结构)
<IND>
<PHARM>
</PHARM>
</IND>
<FIN>
<CFIN>
<CMRKT>
</CMRKT>
</CFIN>
<FIN>
我不想使用递归,因为这个表有超过 60000 条记录,它会显着降低性能。
如果我得到相同格式的输出,我会很高兴,因为我将使用这个输出 XML 来发送请求。
更重要的是,它本质上是动态的。
【问题讨论】:
-
好的,我做了一些额外的家庭作业,以及我是如何知道这将通过“sp_xml_preparedocument”程序完成的。
标签: sql sql-server stored-procedures hierarchy for-xml-path