No necesita actualizar la tabla nuevamente; puede modificar los datos antes de que se inserten, con un activador de nivel de fila antes de insertar, por ejemplo:
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;
/
Esto usó el new
y old
nombres de correlación
para decidir si el valor de la contraseña ha cambiado; y el new
nombre de correlación para asignar la hora del sistema al campo en el pseudoregistro, que se convierte en el valor de la columna cuando se completa la inserción.
Con suerte, no está almacenando contraseñas de texto sin formato en su tabla.