Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

wagner.developer.rj

[Resolvido] FK em tabela de uma tabela de outro banco

Recommended Posts

Bom dia a todos,

 

Estou com uma dúvida simples. Gostaria de saber se é possível no Sql-Server, estar em um banco tipo "banco2" criando a tabela "tabelaB" com uma FK apontando para o banco "banco1" tabela "tabelaA"? seria algo como algo abaixo?

 

CONSTRAINT FK_exemplo FOREIGN KEY(cpFk) REFERENCES banco1.dbo.tabelaA(Id)

 

obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Creio não ser possível, mas não sendo uma solução pode ser fazer a validação via trigger,

uma trigger de before insert ou update (row) faz uma leitura para verificar se o registro "api" existe, não existindo gera um erro (exceção)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Creio não ser possível, mas não sendo uma solução pode ser fazer a validação via trigger,

uma trigger de before insert ou update (row) faz uma leitura para verificar se o registro "api" existe, não existindo gera um erro (exceção)

 

Boa tarde,

 

Eu vou tentar ainda realizar uma fk seguindo aquela minha idéia, mas se não der como disse vou tentar fazer sua sugestão. Se entendi bem você diz que posso pela trigger da "tabelaB" no banco "banco2" eu consulto a fk informada pela aplicação para ver a existência ai eu gero um erro para aplicação e apago o registro da tabela "banco2.tabela2", tipo assim?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, mas ao gerar o erro a gravação não seria feita.

 

+ou- isto

 

create trigger .trg1 before insert or update on tabelafilha
for each row
begin
select tabelapai
where chave = :new.chave;
if 'notfound" then
 raise-error...
end if;
end;

 

A síntaxe correta não sei em Sql Server mas a ideia básica é esta.

 

=============================

http://stackoverflow.com/questions/7165919/foreign-key-in-sql-server-2008-pointing-to-another-database

http://stackoverflow.com/questions/1424327/foreign-keys-on-table-from-different-database

=============================

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, mas ao gerar o erro a gravação não seria feita.

 

+ou- isto

 

create trigger .trg1 before insert or update on tabelafilha
for each row
begin
select tabelapai
where chave = :new.chave;
if 'notfound" then
 raise-error...
end if;
end;

 

A síntaxe correta não sei em Sql Server mas a ideia básica é esta.

 

=============================

http://stackoverflow.com/questions/7165919/foreign-key-in-sql-server-2008-pointing-to-another-database

http://stackoverflow.com/questions/1424327/foreign-keys-on-table-from-different-database

=============================

 

 

Obrigado, vou seguir esta linha mesmo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.