begin process at 2012 05 26 13:59:41
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

Oracle

 > 

Divers

 > 

Correction de Trigger


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Correction de Trigger

mercredi 11 mars 2009 à 11:52:34 | Correction de Trigger

4rocky4

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.






Cette discussion est classée dans : table, id, clef, trigger, primaire


Répondre à ce message

Sujets en rapport avec ce message

last_insert_id() [ par engelho ] Bonjour,J'utilise un insert pour ajouter une ligne a une table contenant une clef primaire générée automatiquement. Je souhaite récupérer cette clef p Trigger beforedelete vs delete rule de clef étrangère [ par vincentstryckmans ] Bonjour,Quelle est la meilleure solution pour effacer les record d'une table enfant lorsqu'un record de la table parent est effacé :1. Avoir une clef Clef primaire qui retourne sur la meme table [ par cretthie ] Bonjour, j'ai une table qui contient :une clef primaire (idPersonne) not nullune clef primaire (idParentPere) not nullune clef primaire (idParentMere) Probleme creation cles primaires [ par Usual suspect ] Bonjour, comment creer une cle primaire d'une table en fonction d'un cle primaire d'une autre table (exigence du cahier des charges)? Exemple : table Recherche sur table de jointure [ par MereDenis ] Bonjour.Premier post sur un forum après plusieurs tentatives de recherches infructueuses mais surement maladroites donc milles excuses si la questions Trigger after delete [ par mictif ] Bonjour ! Je suis confronté a un probleme. je ne connais pas bien les trigger mais ai besoin d'en utiliser un. J'aimerais, lorsque qu'une ligne est Index [ par crn_c21 ] Bonjour, J'ai une petite question (surement bète!) sur les index(SQL 2005). Si dans une Table je crée un Index A sur le champ Id(asc) et que sur cet bd [ par farahoo ] salut quand je cree une clé primaire pour une table en access jai une fenetre qui souvre en fermant le tableau et qui signale q'un index ou une cle pr Trigger qui se déclenche chaque mois [ par youma85 ] Salut tous le monde je suis entrain de réaliser un projet, dans le quel je dois insérer les informations d'une table dans une autre table chaque mois


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,030 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales