正在關注function
我寫了接受xml
並返回table
作爲結果。爲什麼SQL函數總是返回空結果集?
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
請不要按照這種方式進行編輯(實際上是提出全新的問題)。你的信號問題已經解決了。如果您需要進一步的幫助,請考慮向http://sqlfiddle.com演示提出新的問題,其中包括您的真實架構**和數據。 [有關變色龍問題的更多信息](http://meta.stackexchange.com/questions/43478/exit-strategies-for-chameleon-questions) – lad2025