2011-12-23 10 views
44

मैंने स्केलर फ़ंक्शंस बनाए हैं, इसे सफलतापूर्वक बनाया गया था, लेकिन जब मैं चयन कथन का उपयोग करके फ़ंक्शन को कॉल करता हूं, तो यह अमान्य ऑब्जेक्ट कहता है, मैंने फ़ंक्शन को बदल दिया, मुझे संदेश मिला आदेश सफलतापूर्वक पूरा हुआ, लेकिन जब मैं फ़ंक्शन को कॉल करता हूं, तो मुझे एक ही त्रुटि मिलती है। नीचे समारोह मैं फोन करने के लिए कोशिश कर रहा हूँ है:एसक्यूएल सर्वर 2008 में स्केलर फ़ंक्शन कैसे बनाएं और कॉल करें

ALTER FUNCTION [dbo].[fn_HomePageSlider] 
(
    @PortalID int, 
    @ArticleID int 
) 
RETURNS NVARCHAR(MAX) 
AS 
BEGIN 
    DECLARE @HTML NVARCHAR(MAX) 
    SET @HTML = ''; 
    Declare @Title varchar(1000) 
    Select @Title= Title from CrossArticle_Article c where [email protected] 
    Select @HTML = @HTML + '<div class="homeSlider"> 
           <div class="text">'+ISNULL(c.Title,'')+'</div> 
          </div>' 
    FROM CrossArticle_Article c INNER JOIN crossarticle_url U ON U.articleid=c.Id 
    INNER JOIN FREETEXTTABLE(CrossArticle_Article,TITLE,@TITLE) as INDEX_TBL 
    ON INDEX_TBL.[KEY]=c.Id 
    WHERE INDEX_TBL.RANK >= 75 AND 
    c.Id<>@ArticleID AND 
    [email protected] 
    GROUP BY c.Title,U.url,INDEX_TBL.RANK 
    ORDER BY INDEX_TBL.RANK DESC 

    RETURN @HTML; 
END 

और नीचे तरह से मैं समारोह बोल रहा हूँ है:

SELECT * FROM dbo.fn_HomePageSlider(9, 3025) 

किसी को भी मुझे बता सकते हैं क्या इसके बाद के संस्करण समारोह के साथ गलत क्या है, के रूप में मैं संदेश आदेश सफलतापूर्वक पूरा हुआ।

उत्तर

89

आपका कॉल काम करता है यदि यह तालिका मूल्यवान फ़ंक्शन था।

SELECT dbo.fn_HomePageSlider(9, 3025) AS MyResult 
+0

कैसे php में एक चर में इस क्वेरी के परिणाम प्राप्त करने का प्रयास करें: अपने एक अदिश समारोह के बाद से, आप इसे की तरह कॉल करने के लिए की आवश्यकता है? मेरा मतलब है $ var = mssql_query (फ़ंक्शन जो int मान देता है)। मुझे परिणाम $ var के अंदर नहीं मिल रहा है। यह 'संसाधन # 76' @ अखिल – Techy

6

SELECT dbo.function (parameters) 
+0

जैसा दिख रहा है, यह कम से कम मेरे लिए काम नहीं करता है। 'से' हटाएं और यह काम करता है। –

+0

php में एक चर में इस क्वेरी का परिणाम कैसे प्राप्त करें? मेरा मतलब है $ var = mssql_query (फ़ंक्शन जो int मान देता है)। मुझे परिणाम $ var के अंदर नहीं मिल रहा है। यह 'संसाधन # 76' @Abbas जैसा दिख रहा है – Techy

संबंधित मुद्दे