Usuário com melhor resposta
FROM com Variável

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
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. :)
- Marcado como Resposta Filipe B CastroModerator segunda-feira, 7 de agosto de 2017 13:19
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. :)
- Marcado como Resposta Filipe B CastroModerator segunda-feira, 7 de agosto de 2017 13:19
-
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.