如何在sql server 2008中创build和调用标量函数

我已经创build了一个标量函数,它被创build成功,但是当我使用select语句调用函数,它说无效的对象,我改变了函数,我得到了消息命令成功完成,但是当我调用函数时,我得到了错误。 下面是我试图调用的函数:

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 c.Id=@ArticleID 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 c.PortalId=@PortalID 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) 

任何人都可以告诉我上面的函数有什么问题,因为我得到的消息命令成功完成。

如果您的呼叫是表值函数,则您的呼叫将起作用。 由于它是一个标量函数,你需要像这样调用它:

 SELECT dbo.fn_HomePageSlider(9, 3025) AS MyResult 

尝试

 SELECT dbo.function (parameters)