【发布时间】:2012-01-27 00:41:03
【问题描述】:
我创建了一个标量函数,它创建成功,但是当我使用 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)
谁能告诉我上述函数有什么问题,因为我成功完成了消息命令。
【问题讨论】:
标签: sql-server-2008 function call scalar