Я хочу сделать что-то подобное в хранимой процедуре, где dbo.Ordex_Select_Things_as_Xml_Function
- это функция, которая возвращает XML.пользовательская функция, которая управляет и возвращает XML из хранимой процедуры
Когда я запустил его, я получаю пустой корневой узел «вещей», например.(). Как вернуть XML из функции в качестве дочернего узла <thing>
? Я использую SQL Server 2005.
create procedure dbo.Ordex_Select_Things_as_Xml(
@UserID uniqueidentifier
,@ThingID uniqueidentifier = null
,@Recursive bit = 1
)
as
begin try
--- Some other stuff here...
select top 1
LastUpdated.LastUpdatedDate as '@lastUpdatedDate'
,(
dbo.Ordex_Select_Things_as_Xml_Function(@UserID, @ThingID, 1, 1)
)
from dbo.LastUpdated
order by LastUpdated.LastUpdatedDate desc
for xml path('things'), type
--- Some other stuff here...
end try
Почему вы хотите сделать XML из SQL Server? вы, вероятно, должны генерировать его снаружи. – ykatchou
@ykatchou - в dbo.Ordex_Select_Things_as_Xml_Function происходит много рекурсии, поскольку строки имеют родительские дочерние отношения, поскольку я использую Microsoft C# .Net. Я бы предположил, что через Linq потребуется значительно больше времени. – gangelo
Я не знаю точно enviromnent, но он может быть довольно тяжелым в базе данных ... так что это зависит от нагрузки базы данных и клиента – ykatchou