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. PostgresqlのSQLServerからの「stuff」および「forxmlpath('')」

    2. PHPを適切に使用してMySQLオブジェクトをJSONにエンコードするにはどうすればよいですか?

    3. UNIONALL最適化

    4. Oracle接続/クエリのタイムアウト