Aqui está a função de valor de tabela que declarei como:
CREATE FUNCTION fn_GetMedian(@List TypeMedian READONLY)
RETURNS INT
AS
BEGIN
RETURN
(
Select
(
(
Select Top 1 Value
From
(
Select Top 50 Percent Value
From @List
Where Value Is NOT NULL
Order By Value
) As A
Order By Value DESC
) +
(
Select Top 1 Value
From
(
Select Top 50 Percent Value
From @List
Where Value Is NOT NULL
Order By Value DESC
) As A
Order By Value Asc
)
) / 2
)
END
Aqui está a tabela temporária de código e a consulta que estou executando:
DECLARE @Temp Table
(ID INT,ID2 INT)
select fn_GetMedian(ID)
from @Temp
Mas, estou recebendo erro como:
Msg 195, Nível 15, Estado 10, Linha 9
'fn_GetMedian' não é um nome de função reconhecido.
Esta questão está relacionada com:
As funções precisam ser prefixadas com o esquema, para separá-las das funções internas.
A sintaxe correta deve ler
.. desde que sua função esteja no
dbo
esquema.