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

Buat pemicu untuk dimasukkan ke tabel lain

Anda tidak dapat mengambil rekaman dari tabel yang sama dalam pemicu baris. Anda dapat mengakses nilai dari catatan aktual menggunakan :new dan :old (apakah ini kasus Anda?). Pemicu kemudian dapat ditulis ulang menjadi

CREATE OR REPLACE TRIGGER AFTERINSERTCREATEBILL
AFTER INSERT
ON READING
FOR EACH ROW 

DECLARE

  varCustID   Varchar(10);

BEGIN 

  Select CustID INTO varCustID
    From Address A
    Join Meter M 
      on A.postCode = M.postCode
    Where M.MeterID = :new.MeterID;

  INSERT INTO BILL VALUES 
  (SEQBILLNO.NEXTVAL, SYSDATE, 'UNPAID' , 100 , varCustID , SEQREADNO.CURRVAL); 

END;

Jika Anda perlu meminta catatan lain dari tabel READING, Anda harus menggunakan kombinasi pemicu pernyataan, pemicu baris, dan koleksi PLSQL. Contoh bagusnya ada di AskTom.Oracle.com



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle PL/SQL:Kursor Fungsi

  2. Cara Menghapus Nol Awal Dari Tanggal di Oracle

  3. mendapatkan nama dan nilai dari atribut xmltype di Oracle

  4. Ingin membuat nomor seri

  5. cara mendapatkan nama partisi di oracle saat saya memasukkan tanggal