sql >> Databáze >  >> RDS >> Oracle

Přidáno datum a datum změny pro audit tabulky Oracle

vytvořte v tabulce spouštěč (před aktualizací pro každý řádek).

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. Vložit MySQL:Nejprve otestovat?

  2. Vytvoření dynamické klauzule where v uložené proceduře serveru SQL Server

  3. Spojte několik polí do jednoho pomocí SQL

  4. PŘÍPAD Mysql NENÍ NALEZEN pro CASE STATEMENT na uložené proceduře