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