A voir également:
- [ORACLE] Trigger pour ON UPDATE CASCADE
- Liste déroulante en cascade - Guide
- Windows update 0x80070643 - Accueil - Windows
- Windows update bloqué - Guide
- Asus live update - Télécharger - Utilitaires
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
3 réponses
J'ai oublié un bout du trigger pour l'exemple, je le remet en entier :
CREATE OR REPLACE TRIGGER Update_Table_P
AFTER UPDATE OF ID_P ON Table_P
REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROW
DECLARE
V_NEWID VARCHAR2 (6);
V_OLDID VARCHAR2 (6);
BEGIN
V_NEWID := :NEW.ID_P;
V_OLDID := :OLD.ID_P;
UPDATE Table_P
SET ID_P = V_NEWID
WHERE IP_P = V_OLDID;
END;
CREATE OR REPLACE TRIGGER Update_Table_P
AFTER UPDATE OF ID_P ON Table_P
REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROW
DECLARE
V_NEWID VARCHAR2 (6);
V_OLDID VARCHAR2 (6);
BEGIN
V_NEWID := :NEW.ID_P;
V_OLDID := :OLD.ID_P;
UPDATE Table_P
SET ID_P = V_NEWID
WHERE IP_P = V_OLDID;
END;
Fallentree
Messages postés
2309
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
22 juillet 2019
209
10 mars 2009 à 17:18
10 mars 2009 à 17:18
Regarde là peut etre ...
http://books.google.fr/books?id=P8lDLYWio9QC&pg=PA219&dq=oracle+ON+UPDATE+CASCADE+trigger#PPA215,M1
D'apres ce que j'ai compris...
le trigger permet de gerer des procedes alternatifs à la gestion uples et d'exclusion de masse...
Et
la rédaction est plus complexe que ta proposition, et fait appel à des jointures et patati et patata...
Quoique ta proposition est deja bien compliqué .. Old as old new as new ????
En gros, tu veux verifier que ta jointure est correctement inserer dans la table de suivi de old et new ????
D apres l exemple
Create tigger patatipatata ....
When Exist( select Old from table_R where old=new) Vérifie la jointure
Begin ...
C'est vrai que c est pas clair...
Exclure ou etre sur de créer...
http://books.google.fr/books?id=P8lDLYWio9QC&pg=PA219&dq=oracle+ON+UPDATE+CASCADE+trigger#PPA215,M1
D'apres ce que j'ai compris...
le trigger permet de gerer des procedes alternatifs à la gestion uples et d'exclusion de masse...
Et
la rédaction est plus complexe que ta proposition, et fait appel à des jointures et patati et patata...
Quoique ta proposition est deja bien compliqué .. Old as old new as new ????
En gros, tu veux verifier que ta jointure est correctement inserer dans la table de suivi de old et new ????
D apres l exemple
Create tigger patatipatata ....
When Exist( select Old from table_R where old=new) Vérifie la jointure
Begin ...
C'est vrai que c est pas clair...
Exclure ou etre sur de créer...
Old as old new as new permet de déclarer les tables intermédiaires avant l'update.
Donc avant de faire la mise à jour, on va insérer les nouvelles valeurs dans les clefs étrangères pour qu'après on puisse modifier la valeur de la clef primaire. Une fois que toutes les clefs étrangères possède la nouvelle valeur, on peut modifier la clef primaire.
Enfin c'est ce que j'ai compris lol
Donc avant de faire la mise à jour, on va insérer les nouvelles valeurs dans les clefs étrangères pour qu'après on puisse modifier la valeur de la clef primaire. Une fois que toutes les clefs étrangères possède la nouvelle valeur, on peut modifier la clef primaire.
Enfin c'est ce que j'ai compris lol