Erro criar function SQL

19/12/2019

0

Fala galera estou criando uma função que retorna a soma de valores entre um intervalo de datas, porem esta dando um erro no qual não sei onde estou errando. alguém me ajuda ?

segue a função

ALTER FUNCTION SOMA
(   
    
    @PESSOA_ID AS BIGINT,
    @INICIO SMALLDATETIME,
    @FIM AS SMALLDATETIME
)
RETURNS DECIMAL(24,6)

AS
BEGIN
    DECLARE @RETORNO AS DECIMAL (24,6)
        SELECT SUM(VALOR_LIQUIDO) FROM TB_PEDIDO AS P
        INNER JOIN TB_PEDIDOCOMISSIONADO AS PC ON PC.COMISSIONADO_ID = P.COMISSIONADO_PRINCIPAL_ID AND PC.PESSOACOMISSIONADO_ID = @PESSOA_ID 
        WHERE P.DATA >= @INICIO AND P.DATA <= @FIM and P.STATUS <> 0 and P.TIPO = ''''PEDIDO''''
    RETURN @RETORNO 
END



o erro é o seguinte



server was unable to process request select statements included within a function return data to a client

Wictor

Wictor

Responder

Post mais votado

19/12/2019

tente assim:
CREATE OR ALTER FUNCTION SOMA
(   
	@PESSOA_ID AS BIGINT,
	@INICIO SMALLDATETIME,
	@FIM AS SMALLDATETIME
)
RETURNS DECIMAL(24,6)
AS
BEGIN
	DECLARE @RETORNO AS DECIMAL(24,6);

	SELECT @RETORNO = SUM(VALOR_LIQUIDO)
	FROM TB_PEDIDO AS P
	INNER JOIN TB_PEDIDOCOMISSIONADO AS PC
		ON PC.COMISSIONADO_ID = P.COMISSIONADO_PRINCIPAL_ID
	WHERE P.COMISSIONADO_PRINCIPAL_ID = @PESSOA_ID 
		AND P.DATA BETWEEN @INICIO AND @FIM
		AND P.STATUS <> 0
		AND P.TIPO = 'PEDIDO'

	RETURN @RETORNO 
END

Emerson Nascimento

Emerson Nascimento
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar