none
passagem de parametro RRS feed

  • Pergunta

  • Pessoal, to adaptando algumas procedures para que tenham parametro de entrada.

     

    Antes de ter o parametro de entrada a procedure era assim:


    ALTER  procedure [dbo].[sp_relatorio_bc_banda_ade]

    AS

     

    DECLARE 
           @data_atual AS varchar(5),
           @mes_atual as varchar(20),
           --@cidade AS VARCHAR(50),
           @cnl as varchar(5),
           @total AS INT,
           @sql_stmt NVARCHAR(300),
           @sql NVARCHAR(1000)
       

    SET @data_atual = 'dia'+convert(varchar(5),day(getdate()))

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

     

    ALTER  procedure [dbo].[sp_relatorio_bc_banda_ade]( @data_atual as varchar(10) )
    AS

    .

    .

    .

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

     

    A minha questao é como eu faço a chamada da procedure de modo a passar como parametro a seguinte informacao

     

    execute sp_relatorio_bc_banda_ade ( 'dia'+convert(varchar(5),day(getdate()) )

     

    o objetivo é q a variavel tenha a seguinte informacao

    @data_atual = dia1

    @data_atual = dia2  .... dia3 ...etc

     

    ja vi q isso nao é possivel...

     

    A chamada vai ser feita dentro do DTS....

     

    Alguem pode me dar uma dica de como faço para acertar isso usando as variaveis do DTS ou de alguma outra forma alternativa?

     

    valeu pessoal

    quarta-feira, 21 de janeiro de 2009 12:32

Todas as Respostas

  • Esquerdo,

     

    Você poderia fazer desta forma:

    Code Snippet

     

    Execute sp_relatorio_bc_banda_ade  'dia'+convert(varchar(5),day(getdate(),103))

     

    ou então

     

    Exec sp_relatorio_bc_banda_ade  'dia'+convert(varchar(5),day(getdate(),103))

     

     

     

     

    quarta-feira, 21 de janeiro de 2009 12:40
  • Galvao,

     

    estava dando errado pra mim so pq eu estava usando o parentesis?

     

    o meu tava assim e tava dando erro...

    Execute sp_relatorio_bc_banda_ade  ('dia'+convert(varchar(5),day(getdate(),103)))

     

     

    pq nao pode usar o parentesis? É regra do sqlserver2000?

     

    executei o seu e ta dando o seguinte erro

     

    Execute sp_relatorio_bc_banda_ade  'dia'+convert(varchar(5),day(getdate(),103))

     

    Server: Msg 170, Level 15, State 1, Line 1
    Line 1: Incorrect syntax near '+'.

    quarta-feira, 21 de janeiro de 2009 12:44
  • Esquerdo,

     

    Tente assim agora:

     

    Exec sp_relatorio_bc_banda_ade Select 'dia'+convert(varchar(5),day(getdate()),103)

    quarta-feira, 21 de janeiro de 2009 13:20
  • Olá Esquerdo,

     

    Porque você não cria o parametro como smalldatetime e faz esse tratamento dentro da procedure ( caso realmente seja necessário ).

     

    Abraços

     

    quarta-feira, 21 de janeiro de 2009 15:10