none
executando query com variavel RRS feed

  • Pergunta

  • Pessoal, alguem pode me ajudar?

    Estou fazendo uma trigger de banco e estou utilizando o codigo abaixo para preencher uma variavel atraves de um select
    onde o owner do banco pode variar

    Declare @owner char(4) = 'XXXX'
    Declare @clifor char(20) = '123456'
    Declare @idclifor char(20)
    Declare @SSQL varchar(200)

    Select @SSQL = 'Select @idclifor = ukey from banco.' + @owner + '.tabela where codigo = @clifor'

    Exec(@SSQL)

    Quando executo diz que a variavel @idclifor deve ser declarada

    Alguma dica? não é possivel preencher variavel com o comando EXE?

    sábado, 17 de novembro de 2012 22:23

Respostas

  • Olá amigo,

    Tenta fazer assim para recuperar a variavel..

    Declare @owner char(4) = 'dbo'
    Declare @clifor char(20) = '1'
    Declare @idclifor VARCHAR(8000)
    Declare @SSQL nvarchar(4000)
    Select @SSQL = 'Select @idclifor = ukey from banco.' + @owner + '.tabela where codigo = ' + @clifor
    EXECUTE sp_executesql @ssql, N'@idclifor VARCHAR(8000) OUTPUT', @idclifor OUTPUT;
    
    select @idclifor
    
    
     

    Espero ter te ajudado


    Isco Sistemas José Luiz Borges

    domingo, 18 de novembro de 2012 13:03

Todas as Respostas

  • Olá amigo,

    Tenta fazer assim para recuperar a variavel..

    Declare @owner char(4) = 'dbo'
    Declare @clifor char(20) = '1'
    Declare @idclifor VARCHAR(8000)
    Declare @SSQL nvarchar(4000)
    Select @SSQL = 'Select @idclifor = ukey from banco.' + @owner + '.tabela where codigo = ' + @clifor
    EXECUTE sp_executesql @ssql, N'@idclifor VARCHAR(8000) OUTPUT', @idclifor OUTPUT;
    
    select @idclifor
    
    
     

    Espero ter te ajudado


    Isco Sistemas José Luiz Borges

    domingo, 18 de novembro de 2012 13:03
  • Fala José... Funcionou ... Obrigado mesmo.
    quarta-feira, 28 de novembro de 2012 02:29