[firebase-br] Alterar constraint
Mr.Mothman
mr.mothman em gmail.com
Qui Jul 14 09:52:44 -03 2005
Caro Magnum,
Em um dos bancos aqui de minha rede, tenho uma tabela que segue a estrutura
abaixo:
CREATE TABLE TRABALHOS_ARTISTA (
TRABALHO_ID INTEGER NOT NULL,
MIDIA_ARTISTA_ID INTEGER NOT NULL,
PERSONAGEM VARCHAR(50));
ALTER TABLE TRABALHOS_ARTISTA ADD CONSTRAINT PK_TRABALHOS_ARTISTA PRIMARY
KEY (MIDIA_ARTISTA_ID,TRABALHO_ID);
ALTER TABLE TRABALHOS_ARTISTA ADD CONSTRAINT FK_TRABALHOSARTISTA_ARTISTA
FOREIGN KEY (MIDIA_ARTISTA_ID) REFERENCES MIDIA_ARTISTA(MIDIA_ARTISTA_ID) ON
UPDATE RESTRICT ON DELETE RESTRICT;
ALTER TABLE TRABALHOS_ARTISTA ADD CONSTRAINT FK_TRABALHOSARTISTA_TRABALHOS
FOREIGN KEY (TRABALHO_ID) REFERENCES TRABALHOS(TRABALHO_ID) ON UPDATE
RESTRICT ON DELETE RESTRICT;
Caso eu deseje alterar a contraint FK_TRABALHOSARTISTA_ARTISTA poderia fazer
o seguinte:
1) Deleto a Constraint:
ALTER TABLE TRABALHOS_ARTISTA DROP CONSTRAINT FK_TRABALHOSARTISTA_ARTISTA
2) Recriar a Constraint fazendo as alterações necessárias:
ALTER TABLE TRABALHOS_ARTISTA ADD CONSTRAINT FK_TRABALHOSARTISTA_ARTISTA
FOREIGN KEY (MIDIA_ARTISTA_ID) REFERENCES MIDIA_ARTISTA(MIDIA_ARTISTA_ID) ON
UPDATE CASCADE ON DELETE CASCADE;
O objeto agora ficararia assim:
CREATE TABLE TRABALHOS_ARTISTA (
TRABALHO_ID INTEGER NOT NULL,
MIDIA_ARTISTA_ID INTEGER NOT NULL,
PERSONAGEM VARCHAR(50));
ALTER TABLE TRABALHOS_ARTISTA ADD CONSTRAINT PK_TRABALHOS_ARTISTA PRIMARY
KEY (MIDIA_ARTISTA_ID,TRABALHO_ID);
ALTER TABLE TRABALHOS_ARTISTA ADD CONSTRAINT FK_TRABALHOSARTISTA_ARTISTA
FOREIGN KEY (MIDIA_ARTISTA_ID) REFERENCES MIDIA_ARTISTA(MIDIA_ARTISTA_ID) ON
UPDATE RESTRICT ON DELETE RESTRICT;
ALTER TABLE TRABALHOS_ARTISTA ADD CONSTRAINT FK_TRABALHOSARTISTA_TRABALHOS
FOREIGN KEY (TRABALHO_ID) REFERENCES TRABALHOS(TRABALHO_ID) ON UPDATE
CASCADE ON DELETE CASCADE;
Espero ter podido ajudá-lo.
[ ]'s
Mr.Mothman
Mais detalhes sobre a lista de discussão lista