Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

penyisipan log/pembaruan/penghapusan dalam database Oracle

Anda dapat menemukan banyak contoh pemicu dalam dokumentasi Oracle. Yang Anda butuhkan adalah setelah memasukkan, memperbarui, menghapus untuk setiap pemicu baris untuk mengisi tabel log Anda. Berikut ini beberapa contoh dari dokumen Oracle:

http://docs.Oracle.com/cd /B28359_01/appdev.111/b28370/triggers.htm#LNPLS020

CREATE TABLE Emp_log (
  Emp_id     NUMBER,
  Log_date   DATE,
  New_salary NUMBER,
  Action     VARCHAR2(20));

 CREATE OR REPLACE TRIGGER Log_salary_increase_ARUID
  AFTER UPDATE OR INSERT OR DELETE ON emp
  FOR EACH ROW
BEGIN
  -- Can be separated for Inserting then Updating with addl if
  -- In this case it may be easier to control and/or add flags to your log tables
  -- such as Action = 'INS' or Action = 'UPD' --
  If (INSERTING OR UPDATING) 
  THEN
    -- Insert newly created/updated values to your log table --
    INSERT INTO Emp_log (Emp_id, Log_date, New_salary, Action)
     VALUES (:NEW.Empno, SYSDATE, :NEW.SAL, 'INS_UPD');
  ELSE  
    -- Deleting - insert old or deleted values to your logs --
   INSERT INTO Emp_log (Emp_id, Log_date, New_salary, Action)
     VALUES (:OLD.Empno, SYSDATE, :OLD.SAL, 'DEL');
END;
/


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menambahkan batasan di Oracle SQL untuk membatasi nilai?

  2. Temukan dan ganti string di dalam BLOB for Work atau File Excel

  3. kueri oracle Gabungkan semua kolom dengan ','

  4. Tipe Dapper &Oracle Clob

  5. Memodifikasi fungsi PLSQL untuk mengembalikan beberapa baris dari kolom yang sama