Vous n'avez pas besoin de mettre à jour la table à nouveau ; vous pouvez modifier les données avant qu'elles ne soient insérées, avec un déclencheur au niveau de la ligne avant l'insertion, par exemple :
create trigger trig_pwd_date
before insert or update on temp_table
for each row
when (old.password is null and new.password is not null or new.password != old.password)
begin
:new.pwd_change_date := systimestamp;
end;
/
Cela a utilisé le new
et old
noms de corrélation
pour décider si la valeur du mot de passe a changé ; et le new
nom de corrélation pour attribuer l'heure système au champ du pseudo-enregistrement, qui devient la valeur de la colonne une fois l'insertion terminée.
J'espère que vous ne stockez pas de mots de passe en texte brut dans votre table.