U kunt geen records ophalen uit dezelfde tabel in een rijtrigger. U hebt toegang tot waarden uit de werkelijke record met :new en :old (is dit uw geval?). De trigger kan dan worden herschreven naar
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;
Als u een query moet uitvoeren op een ander record uit de READING-tabel, moet u een combinatie van instructietriggers, rijtriggers en een PLSQL-verzameling gebruiken. Een goed voorbeeld hiervan is op AskTom.oracle.com