Usuários mais ativos no mês 11/2019
  1. henrique.muller

    843 Pontos

  2. paulo.silva

    831 Pontos

  3. maicon.pereira

    582 Pontos

  4. juliano.pezzini

    388 Pontos

  5. leandro.piscke

    371 Pontos

  6. dirceu.schlickmann

    347 Pontos

  7. diuari.molinari

    331 Pontos

  8. Camila

    288 Pontos

  9. bruno.cardoso

    273 Pontos

  10. Rafael Leonhardt

    256 Pontos

Erro ao tentar alterar um procedure.

+2 votos
11 visitas
CREATE FUNCTION [DBO].[QTD_PEDIDOSATENDER](@EMPRESA INT,@FILIAL INT,@PROD INT) RETURNS FLOAT AS BEGIN DECLARE @QTD AS FLOAT SELECT @QTD = ISNULL(ROUND(SUM(ITEMOV.QUANTIDADE - ISNULL(ITEMOV.QUANTIDADEATENDIDA, 0) - ISNULL(ITEMOV.QUANTIDADEFATURADA, 0)))) FROM CM_ORDENSVENDA OV INNER JOIN CM_ORDEMVENDAITENS ITEMOV ON (ITEMOV.ORDEMVENDA = OV.HANDLE) WHERE OV.EMPRESA = @EMPRESA AND OV.FILIAL = @FILIAL AND ITEMOV.PRODUTO = @PROD AND OV.STATUS IN (2,3) AND ITEMOV.STATUS IN (2,3,4) AND OV.K9_MODALIDADE = 1 RETURN @QTD END

 

Erro:

Msg 189, Level 15, State 1, Procedure QTD_PEDIDOSATENDER, Line 1
The round function requires 2 to 3 arguments.
perguntou Out 22 por jose.sidnei (20 pontos)
Oracle? SQL Server?
O problema o corre no SQL Server

1 Resposta

0 votos

ROUND do SQL Server tem pelo menos 2 argumentos.

Veja a documentação: https://docs.microsoft.com/pt-br/sql/t-sql/functions/round-transact-sql?view=sql-server-ver15

No seu comando acima o ROUND não tem apenas um argumento (O mesmo acontece para o primeiro ISNULL)

Isolando a função citada.

ISNULL(
  ROUND(
    SUM(
      ITEMOV.QUANTIDADE - ISNULL(ITEMOV.QUANTIDADEATENDIDA, 0) - ISNULL(ITEMOV.QUANTIDADEFATURADA, 0)
   )
  )
)

Deveria ser

ISNULL(
  ROUND(
    SUM(
      ITEMOV.QUANTIDADE - ISNULL(ITEMOV.QUANTIDADEATENDIDA, 0) - ISNULL(ITEMOV.QUANTIDADEFATURADA, 0)
   ), 0 -- Arredondando duas casas
  ), 0 -- ISNULL assumindo zero
)

 

respondida Out 22 por henrique.muller (843 pontos)

Perguntas relacionadas

+2 votos
1 resposta 51 visitas
+3 votos
1 resposta 23 visitas
+2 votos
1 resposta 22 visitas
0 votos
1 resposta 72 visitas
72 visitas perguntou Mar 30, 2015 por felipe.silva (45 pontos)
...