sql >> Database >  >> RDS >> Oracle

Oracle - update dezelfde tabel waarop de trigger is geactiveerd

U hoeft de tabel niet opnieuw bij te werken; u kunt de gegevens wijzigen voordat deze worden ingevoegd, met een trigger op rijniveau vóór het invoegen, bijvoorbeeld:

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<>fiddle-demo

Dit gebruikte de new en old correlatienamen om te beslissen of de wachtwoordwaarde is gewijzigd; en de new correlatienaam om de systeemtijd toe te wijzen aan het veld in het pseudorecord, dat de kolomwaarde wordt wanneer het invoegen is voltooid.

Hopelijk sla je geen wachtwoorden in platte tekst op in je tabel.



  1. postgreSQL sorteren met tijdstempels

  2. MySQL ERROR 1349 Wat mis ik?

  3. Een index maken op een MySQL-kolom op basis van de lengte van de inhoud?

  4. Controleer of gebruikersnaam al bestaat in database MySQL PHP