sql server 2008 - usuario - cómo crear y llamar a la función escalar en el servidor sql 2008
funciones sql server parametros opcionales (2)
Creé funciones escalares, se creó con éxito, pero cuando llamo a la función utilizando la instrucción select, dice objeto no válido, alteré la función, obtuve el comando de mensaje completado con éxito, pero cuando llamo a la función, obtengo el mismo error. a continuación está la función que estoy tratando de llamar:
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
Y a continuación es la forma en que estoy llamando a la función:
SELECT * FROM dbo.fn_HomePageSlider(9, 3025)
¿Alguien puede decirme qué está mal con la función anterior, ya que obtengo el comando de mensaje completado con éxito.
Su llamada funciona si fuera una función con valores de tabla. Como es una función escalar, debe llamarlo así:
SELECT dbo.fn_HomePageSlider(9, 3025) AS MyResult
Tratar
SELECT dbo.function (parameters)