Ir para conteúdo
Fórum Script Brasil
  • 0

Concatenar Variavel Em Uma Procedure No Sql Server


ri_nepo

Pergunta

Galera ,

eu fiz um dts que executa uma procedure , na hora de concatenar ele da o seguinte erro.

Incorrect syntax near '+'.

A parte final do código está assim que executa a procedure está abaixo ,

****************************************

INSERT INTO TB_REPORT_ACUMULO

(ORDEM,NIVEIS,PESSOAS,TRANSACOES,DOTZ,TKT__MEDIO_USUARIO,

TKT_MEDIO_TRANSACAO)

EXEC REPORT_ACUMULO '43540',@ANO + '/' + @mês + '/' + @DIA_INICIO ,@ANO + '/' + @mês + '/' + @DIA_FINAL

****************************************

Quem quiser ver o código completo pode olhar o código abaixo

DECLARE @DIA_INICIO CHAR(10)

DECLARE @DIA_FINAL CHAR(10)

DECLARE @mês CHAR(10)

DECLARE @ANO CHAR(10)

SET @DIA_INICIO = '1'

SET @mês = MONTH(getdate()) - 1

IF MONTH(GETDATE()) = '1'

BEGIN

SET @ANO = YEAR(getdate()) - 1

END

ELSE

BEGIN

SET @ANO = YEAR(getdate())

END

IF MONTH(GETDATE()) = '1' OR MONTH(GETDATE()) = '2' OR MONTH(GETDATE()) = '4' OR

MONTH(GETDATE()) = '6' OR MONTH(GETDATE()) = '8' OR MONTH(GETDATE()) = '9' OR

MONTH(GETDATE()) = '11'

BEGIN

SET @DIA_FINAL = '31'

END

ELSE IF MONTH(GETDATE()) = '3'

BEGIN

SET @DIA_FINAL = '28'

END

ELSE

BEGIN

SET @DIA_FINAL = '30'

END

INSERT INTO TB_REPORT_ACUMULO

(ORDEM,NIVEIS,PESSOAS,TRANSACOES,DOTZ,TKT__MEDIO_USUARIO,

TKT_MEDIO_TRANSACAO)

EXEC REPORT_ACUMULO '43540',@ANO + '/' + @mês + '/' + @DIA_INICIO ,@ANO + '/' + @mês + '/' + @DIA_FINAL

*****************************************************

quem puder ajudar eu agradeço

valeu

Ricardo

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

esse erro da na hora do check syntax ou so na hora de executar??

também esse insert está meio estranho. ele não tem os values. ou esse REPORT_ACUMULO é que retorna os values a serem inseridos??

se for tenta isso:


INSERT INTO TB_REPORT_ACUMULO
(ORDEM,NIVEIS,PESSOAS,TRANSACOES,DOTZ,TKT__MEDIO_USUARIO,
TKT_MEDIO_TRANSACAO)
EXEC (REPORT_ACUMULO '43540',@ANO + '/' + @mês + '/' + @DIA_INICIO ,@ANO + '/' + @mês + '/' + @DIA_FINAL)[/code] ou isso:
[code]
INSERT INTO TB_REPORT_ACUMULO
(ORDEM,NIVEIS,PESSOAS,TRANSACOES,DOTZ,TKT__MEDIO_USUARIO,
TKT_MEDIO_TRANSACAO)
(EXEC REPORT_(ACUMULO '43540',@ANO + '/' + @mês + '/' + @DIA_INICIO ,@ANO + '/' + @mês + '/' + @DIA_FINAL))

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...