gostaria de saber se tem como criar chave estrangeira da chave estrangeira?

abraço
Posted 14/10/2008, 09:42
Posted 14/10/2008, 10:34
ALTER TABLE tabela ADD CONSTRAINT fk_nome_da_sua_chave FOREIGN KEY (codigo_pai) REFERENCES tabela_pai (codigo) MATCH SIMPLE ON UPDATE CASCADE ON DELETE RESTRICT;
Posted 14/10/2008, 11:59
heheALTER TABLE tabela ADD CONSTRAINT fk_nome_da_sua_chave FOREIGN KEY (codigo_pai) REFERENCES tabela_pai (codigo) MATCH SIMPLE ON UPDATE CASCADE ON DELETE RESTRICT;
Posted 14/10/2008, 13:04
Edição feita por: boirock, 14/10/2008, 13:04.
Posted 14/10/2008, 13:33
Uhum.... é só jogar esse código no editor de query (aquele botão barra superior que tem um lápis)
Tem outro caminho que é o seguinte:
1 - Selecione a tabela filha.
2 - Botão direito -> Novo objeto -> Nova Chave Estrangeira
3 - Na tela que vai se abrir, coloque o nome da FK.
4 - Em referência você deve escolher a tabela pai.
5 - Clique na aba "colunas"; você vai dizer qual coluna filha faz referência a qual da tabela pai. Para isso, utilize os campos "coluna local" e "referenciando" e clique em adicionar.
6 - Clicando ma aba "ação" você vai poder definir o comportamento dessa chave em dois eventos: "ao atualizar" e "ao apagar". Para a grande maioria dos casos o mais recomendável é que você deixe CASCADE ao atualizar e RESTRICT ao apagar. Dessa maneira você vai poder atualizar a tabela pai garantindo que essa atualização se propague para a filha mas só permitirá que a tabela pai seja excluída caso ela não tenha nenhuma filha. Existem outras opções interessantes, vale a pena dar uma estudada nelas.
7 - Clique em OK e seja feliz... beba uma Xiboca pra comemorar.
Posted 14/10/2008, 13:48
Posted 14/10/2008, 14:14
Então
Problema de conceito! Uma chave estrangeira dá a entender que você vai ter um relacionamento direto de UM para N, certo?
UM pai pode ter MUITOS FILHOS
mas UM filho não pode ter MUITOS PAIS
Na tabela3 vc está referenciando um valor da tabela2 que não é único, ou seja, pode se repetir! Referencie o id único da tabela2 ou faça referência direta à tabela1![]()
Posted 14/10/2008, 14:50
Posted 21/09/2017, 14:47
Posted 06/10/2017, 11:41
Posted 16/10/2017, 00:42
Posted 01/11/2017, 12:57
Posted 22/11/2017, 17:37
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)