Операторы выбора, включенные в функцию, не могут возвращать данные в client_New

Я читал об ошибке в заголовке вопроса, но не могу понять, что это за ошибка в моем коде ниже:

CREATE function [RPT].[MonthlyRollupDates_Delimited]()
RETURNS @table TABLE (Value varchar(max))
AS
BEGIN

Declare @Count int , @Date date = getdate(),@Month int
SET @Month = MONTH(@Date)
SET  @Count = @Month +12


Select 
top (@Count) 
CalendarDate,   BusinessDay, Label
from  MonthlyRollupDates
order by Calendardate desc

return
end
GO

Я получаю ошибку

Операторы выбора, включенные в функцию, не могут возвращать данные клиенту

1 ответ

Решение

Вам нужно поставить результаты вашего SELECTв таблицу возврата, а затем верните эту таблицу.

CREATE function [RPT].[MonthlyRollupDates_Delimited]()
--notice i modified the table to match the select statement, but assumed datatypes
RETURNS @table TABLE (CalendarDate datetime, BusinessDay int, Label char(10))
AS
BEGIN

declare @Count int
SET @Count = month(getdate()) + 12

--place your select into the table variable
insert into @table
Select top (@Count) 
    CalendarDate
    ,BusinessDay
    ,Label
from  
    MonthlyRollupDates
order by 
    Calendardate desc

return
end
GO
Другие вопросы по тегам