Функция не возвращает значение при выполнении процедуры внутри - SQL - PullRequest
0 голосов
/ 05 февраля 2020
DROP FUNCTION dbo.[functionName]

CREATE FUNCTION dbo.[functionName] 
    (@fromDate NVARCHAR(50),
     @toDate NVARCHAR(50))
RETURNS NVARCHAR(50)
AS
BEGIN
    DECLARE @setIndex NVARCHAR(50)
    DECLARE @oi NVARCHAR(50)

    EXECUTE @setIndex = IndexMean @fromDate, @toDate

    EXECUTE sp_executesql @setIndex = @oi OUTPUT;

    RETURN @oi
END

IndexMean - это процедура для вывода:

OutputVal
2

Вызов функции:

Select * 
From functionName('2019-01-01', '2020-01-31');

Это приводит к ошибке:

Недопустимый объект имя 'FinalIndexKPI'.

Вызов функции:

Select functionName('2019-01-01', '2020-01-31');

Это также приводит к ошибке:

Только функции и некоторые расширенные хранимые процедуры могут быть выполненным изнутри функции.

...