none
FROM com Variável RRS feed

  • Pergunta

  • Boa noite pessoal,

    Estou fazendo uma serie de execução de querys e o problema é que tenho que alterar todas quando troco de banco, por exemplo:

    SELECT *

    FROM [bancoOrigem].[dbo].[Tabela 1] AS TO

    INNER JOIN [bancoDestino].[dbo].[Tabela 1] AS TD

    ON .....

    Seria possível criar uma variável para armazenar o nome do banco para ficar da seguinte forma:

    Declare @VarOrigem = BDCliente1

    Declare @VarDestino = BDCliente2

    SELECT *

    FROM @VarOrigem.[dbo].[Tabela 1] AS TO

    INNER JOIN @VarDestino.[dbo].[Tabela 1] AS TD

    ON .....

    Obrigado

    sexta-feira, 4 de agosto de 2017 03:56

Respostas

  • Olá, você pode usar uma query dinâmica.

    Exemplo:

    Declare @query varchar(max) 
    
    Declare @VarOrigem varchar(100) = 'BDCliente1'
    
    Declare @VarDestino varchar(100)= 'BDCliente2'
    
    select @query = 'SELECT * FROM ' + @VarOrigem + '.[dbo].[Tabela 1] AS TO INNER JOIN ' + @VarDestino + '.[dbo].[Tabela 1] AS TD  ON .....'
    
    exec sp_executesql @query


    Vinicius Fonseca - MCP | MCTS | MCDBA | MCITP | MCTS | MCT | ITIL Foundation - DGA SISTEMAS - Se minha resposta for útil, classifique-a. :)

    sexta-feira, 4 de agosto de 2017 09:41

Todas as Respostas

  • Olá, você pode usar uma query dinâmica.

    Exemplo:

    Declare @query varchar(max) 
    
    Declare @VarOrigem varchar(100) = 'BDCliente1'
    
    Declare @VarDestino varchar(100)= 'BDCliente2'
    
    select @query = 'SELECT * FROM ' + @VarOrigem + '.[dbo].[Tabela 1] AS TO INNER JOIN ' + @VarDestino + '.[dbo].[Tabela 1] AS TD  ON .....'
    
    exec sp_executesql @query


    Vinicius Fonseca - MCP | MCTS | MCDBA | MCITP | MCTS | MCT | ITIL Foundation - DGA SISTEMAS - Se minha resposta for útil, classifique-a. :)

    sexta-feira, 4 de agosto de 2017 09:41
  • Bom dia,

    Por falta de retorno essa thread está sendo encerrada.

    Se necessário, favor abrir uma nova thread.

    Atenciosamente,

    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 7 de agosto de 2017 13:19
    Moderador