Bonjour tout le monde,
Je voudrai créer des triggers qui permettent de mettre à jour des tables sous Oracle.
Par exemple, si on modifie la clef primaire d'une table, il faut également modifier les clefs étrangères dans les autres tables.
J'ai essayer de les créer et j'aimerais juste que l'on me dise si c'est correct ou pas, me dire les erreurs.
Voici 3 exemples :
Exemple 1 :
TABLE_A :
- Clef primaire : ID_A
- Clef étrangère : ID_B
TABLE_B :
- Clef primaire: ID_B
Trigger :
Create trigger or replace update_TABLE_B
After update on TABLE_B
Begin
Update TABLE_A set ID_B = :new.ID_B
Where ID_B = :old.ID_B;
Exemple 2 :
TABLE_A :
- Clef primaire : ID_A
- Clef étrangère : ID_B
- Clef étrangère : ID_C
TABLE_B :
- Clef primaire: ID_B
- Clef primaire : ID_C
Trigger :
Create trigger or replace update_TABLE_B
After update on TABLE_B
Begin
Update TABLE_A set ID_B = :new.ID_B
And ID_C = :new.ID_C
Where ID_B = :old.ID_B
And ID_C = :old.ID_C;
Exemple 3 :
TABLE_A :
- Clef primaire : ID_A
- Clef étrangère : ID_B
- Clef étrangère : ID_C
- Clef étrangère : ID_D
TABLE_B :
- Clef primaire : ID_B
TABLE_C :
- Clef primaire : ID_C
- Clef primaire : ID_D
Trigger :
Create trigger or replace update_TABLE_B
After update on TABLE_B
Begin
Update TABLE_A set ID_B = :new.ID_B
Where ID_B = :old.ID_B;
Create trigger or replace update_TABLE_C
After update on TABLE_C
Begin
Update TABLE_A set ID_C = :new.ID_C
And ID_D = :new.ID_D
Where ID_C = :old.ID_C
And ID_D = :old.ID_D;
Je ne suis pas sûr des syntaxes.
Ces triggers seront exécutés sous Oracle donc il faut que la syntaxe soit correcte.
Je vous remercie par avance.