Bonjour,

J'ai une table T1 avec un champ DATEMAJ qui est mis à jour quand on ajoute une ligne dans la table ou que l'on fait une mise à jour sur la table. C'est pour savoir quand les modifs et les insertions sont faites, et par qui (champ USERMAJ).

Mon problème : le trigger d'insertion ne fonctionne pas sur le champ DATEMAJ.

Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
CREATE OR REPLACE TRIGGER "ORA_SCHEMA"."TRG_INS_T1" 
    BEFORE
INSERT ON "ORA_SCHEMA"."T1" FOR EACH ROW 
BEGIN
  :NEW.DATEMAJ := current_timestamp;
  :NEW.USERMAJ := 'SPG40'; 
END;
Je suis carrément déconnecté d'Oracle. C'est pareil si je remplace "cuurent_timestamp" par "sysdate".

J'ai essayé d'utiliser des to_char() et des to_date(), mais j'ai une erreur ORA-01830, et l'insertion ne se fait pas.

Le plus bizarre c'est que le même trigger fonctionne sur l'update.

Merci pour vos réponses.

SPG40