Rechercher : dans
Par :

Update table oracle par trigger

potier14, le 3 déc 2008 à 14:28:05 
 Signaler ce message aux modérateurs

Bonjour,
Je suis coincé pour créer un trigger et je cherche un bonne âme pour me secourir.
Voici l'énoncée :
J'ai une table PGPV qui contient les champs PVPV et FHM_FLAG_MODIF.
Je souhaite qu'à chaque modification du champ PVPV, le champ FHM_FLAG_MODIF prenne la valeur 'N' uniquement pour l'enregistrement modifié.
J'ai donc créé le trigger suivant :

CREATE OR REPLACE TRIGGER TRIG_FHM_PGPV
BEFORE UPDATE OF PVPV ON PGPV
declare
BEGIN
update pgpv
set fhm_flag_modif='O'
END;

Ce trigger fonctionne mais met à jour tous les enregistrements de la table. Lorsque je rajoute une condition, mon trigger ne fonctionne plus. Je cherche à réaliser un trigger comme celui qui suit, mais qui fonctionne :

CREATE OR REPLACE TRIGGER TRIG_FHM_PGPV
BEFORE UPDATE OF PVPV ON PGPV
declare
BEGIN
update pgpv
set fhm_flag_modif='O'
where pvclient=:new.pvclient
and pvref=::new.pvref;
END;

Merci par avance de votre aide
François

Configuration: Windows XP
Firefox 2.0.0.18

Meilleures réponses pour « Update table oracle par trigger » dans :
SQL - Contraintes d'intégrité VoirExpression de contraintes d'intégrité Une contrainte d'intégrité est une clause permettant de contraindre la modification de tables, faite par l'intermédiaire de requêtes d'utilisateurs, afin que les données saisies dans la base soient...
SQL - Création d'index VoirQu'est-ce qu'un index? Un index est un objet complémentaire (mais non indispensable) à la base de données permettant d'"indexer" certaines colonnes dans le but d'améliorer l'accès aux données par le SGBDR, au même titre qu'un index dans un livre ne...
SQL - Restriction VoirExpression des restrictions Une restriction consiste à sélectionner les lignes satisfaisant à une condition logique effectuée sur leurs attributs. En SQL, les restrictions s'expriment à l'aide de la clause WHERE suivie d'une condition logique...