Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Select statements included within a function cannot return data to a client_New

I've been reading about the error on the question title but I cannot figure out what is the error on my code below:

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

The error I'm getting is

Select statements included within a function cannot return data to a client

like image 919
Samayoa Avatar asked Dec 05 '18 15:12

Samayoa


1 Answers

You need to put the results of your SELECTinto your return table, and then return that table.

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
like image 165
S3S Avatar answered Oct 28 '22 20:10

S3S