我遇到了函数(UDF)和系统过程的问题。 我无法在UDF中使用过程。 但这个问题有解决办法吗?
我有一个视图,在视图中将调用函数xmlHistory。
在函数中,我将准备我的XML,然后我将返回结果。 但由于EXEC sp_xml_preparedocumet的原因,我无法运行该功能。
是否有其他解决方案可以使用sp_xml_preparedocumet?
程序SELECT
irsys.referencenumber AS [Ticket-Nr],
dbo.xmlHistory(irsys.caseid,1,'AssignedRole') AS [Role] ...
CREATE FUNCTION [dbo].[xmlHistory] (@caseID int, @historyID int, @name varChar(50) )
RETURNS varChar
AS
BEGIN
DECLARE @val varChar(50)
DECLARE @docHandle int
DECLARE @xmlDocument nvarchar(max) -- or xml type
SET @xmlDocument = (SELECT [historyitem]
FROM [HLDATA].[dbo].[hlsyscasehistory]
where caseid = @caseID and historyid = @historyID)
EXEC sp_xml_preparedocument @docHandle OUTPUT, @xmlDocument
-- Use OPENXML to provide rowset consisting of customer data.
set @val = (SELECT Value
FROM OPENXML(@docHandle, 'HistoryDataDto/ODEs/ODE/Attributes/Attribute',2)
WITH (Name varchar(50), Value varchar(50))
where name = @name)
RETURN @val
END
GO
谢谢
菲利克斯