【发布时间】:2016-06-15 06:21:10
【问题描述】:
在function 之后,我写了接受xml 并返回table 作为结果。
CREATE FUNCTION FunctionTest(@ID INT,@XML_Details xml)
RETURNS @RESULT TABLE
(
Value1 INT,
Value2 INT
)
AS
BEGIN
DECLARE @tbl_Xml_Result Table
(
Value1 INT,
Value2 INT
)
INSERT INTO @RESULT(Value1,Value2)
SELECT
l.v.value('Value2[1]','INT'),
l.v.value('Value1[1]','INT')
FROM @XML_Details.nodes('/Listings/listing')l(v)
RETURN
END
以下是我用来在上面运行 function 的代码,但它总是返回 Empty 结果。
DECLARE @tbl_Xml_Result Table
(
Value1 INT,
Value2 INT
)
INSERT INTO @tbl_xml_Result
values(1,2),(2,3),(3,4),(4,5),(5,6)
DECLARE @xml_Temp xml
SET @xml_Temp = ( SELECT *
FROM @tbl_xml_Result
FOR XML PATH('Listing'),ROOT('Listings')
)
DELETE FROM @tbl_xml_Result
INSERT INTO @tbl_xml_Result(Value1,Value2)
Select
T.Value1,
T.Value2
FROM FunctionTest(1,@xml_Temp) T
select * from @tbl_Xml_Result
【问题讨论】:
-
请不要以这种方式进行编辑(实际上是在问全新的问题)。你原来的问题已经解决了。如果您需要进一步的帮助,请考虑使用sqlfiddle.com 演示提出新问题,该问题包含您的真实架构 和数据。 More info about chameleon questions
标签: sql sql-server xml tsql sql-server-2012