Oracle
 sql >> база данни >  >> RDS >> Oracle

Добавена дата и модифицирана дата за одит на таблица на Oracle

създайте тригер в таблицата (преди актуализиране за всеки ред).

SQL> create table foo (hi varchar2(10), added_date date, modified_date date);

Table created.

SQL> create trigger foo_auifer
  2  before update or insert on foo
  3  for each row
  4  declare
  5  begin
  6    if (inserting) then
  7      :new.added_date := sysdate;
  8    elsif (updating) then
  9      :new.modified_date := sysdate;
 10    end if;
 11  end;
 12  /

Trigger created.

SQL> insert into foo (hi) values ('TEST');

1 row created.

SQL> insert into foo (hi) values ('TEST2');

1 row created.

SQL> update foo set hi = 'MODDED' where rownum  = 1;

1 row updated.

SQL> alter session set nls_date_format='dd-mon-yyyy hh24:mi:ss';

Session altered.

SQL> select * from foo;

HI         ADDED_DATE           MODIFIED_DATE
---------- -------------------- --------------------
MODDED     07-nov-2012 15:28:28 07-nov-2012 15:28:39
TEST2      07-nov-2012 15:28:30

SQL>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Първи стъпки с SQL на Oracle Application Express

  2. Използване на функцията Max() за избор на групови стойности

  3. java.sql.SQLRecoverableException:Мрежовият адаптер не можа да установи връзката

  4. Oracle 12 има ли проблеми с типовете локални колекции в SQL?

  5. Как правилно да направите публичен синоним