我想知道在SQL Server 2005中是否有任何方法可以选择层次结构并返回XML格式的数据?我有一个包含大量数据的数据库(约2000到3000条记录),我现在正在使用SQL Server 2005中的一个函数来检索分层数据并返回XML,但当数据量很大时它似乎不够完美,因为速度太慢。
以下是我的函数: 数据库
以下是我的函数: 数据库
ID Name Parent Order
功能
CREATE FUNCTION [dbo].[GetXMLTree]
(
@PARENT bigint
)
RETURNS XML
AS
BEGIN
RETURN /* value */
(SELECT [ID] AS "@ID",
[Name] AS "@Name",
[Parent] AS "@Parent",
[Order] AS "@Order",
dbo.GetXMLTree(Parent).query('/xml/item')
FROM MyDatabaseTable
WHERE [Parent]=@PARENT
ORDER BY [Order]
FOR XML PATH('item'),ROOT('xml'),TYPE)
END
我希望使用XML层次结构,因为我需要对其进行很多操作 :) 有什么最好的解决方案吗?