sql >> Databasteknik >  >> RDS >> Oracle

Oracle - uppdatera samma tabell som utlösaren aktiveras på

Du behöver inte uppdatera tabellen igen; du kan ändra data innan den infogas, med en radnivåutlösare före infogning, t.ex.:

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;
/

db<>fioldemo

Detta använde new och old korrelationsnamn för att avgöra om lösenordsvärdet har ändrats; och den new korrelationsnamn för att tilldela systemtiden till fältet i pseudorecorden, som blir kolumnvärdet när infogningen är klar.

Förhoppningsvis lagrar du inte lösenord i vanlig text i din tabell.



  1. Lägg till egenskap till objekt som returneras av Sequelize FindOne

  2. Jag har problem med att ansluta till min db på godaddy med PDO

  3. orakelintegritetsbegränsning

  4. ORA-01618