Array
(
)

Select com ´N´ Databases

Alesp84
   - 10 ago 2004

Olá pessoal,

Primeiro gostaria de agradecer a todos e ao fórum que tme me ajudando muito com meus estudos últimamente..

Meu problema é o seguinte, eu gostaria de saber como faço um select com vários database..

ex.:
SELECT C.Nome,
C.End,
E.CEP
FROM db1.Cliente C
JOIN db2.End E ON (E.Cod_Cep = C.Cod_Cep)

Gostaria de saber uma forma para realizar um ´select´ parecido com esse, envolvido mais de 1 database

Um abraço a todos
Alexandre

Marcus.magalhaes
   - 10 ago 2004

Bom dia Ale.

Basta o usuário q for executar o select ter permissão nas tabelas, ai vc faz o select da seguinte forma:

Select tab1.col1, tab1.col2, tab2.col1, tab3.col1
From db1.owner.tab1 tab1 Inner Join db2.owner.tab2 On condicao
Inner Join db3.owner.tab3 On condicao

onde owner é o dono do objeto, normalmente o dbo

Att,

Aroldo Zanela
   - 11 ago 2004

Colega,

O que você está necessitando é conhecido como nomes totalmente qualificados. O nome completo de um objeto do SQL Server inclui quatro identificadores: o nome do servidor, o nome do banco de dados, o nome do proprietário e o nome do objeto no seguinte formato:

#Código

servidor.banco_de_dados.proprietário.objeto


Cada objeto criado no SQL Server deve ter um nome totalmente qualificado exclusivo.
Por exemplo, você pode ter duas tabelas chamadas Orders (Pedidos) no mesmo banco de dados desde que elas pertençam a proprietários diferentes. Além disso, os nomes de colunas devem ser exclusivos dentro de uma tabela ou view.