Nie można pobrać rekordów z tej samej tabeli w wyzwalaczu wierszowym. Możesz uzyskać dostęp do wartości z aktualnego rekordu używając :new i :old (czy to twój przypadek?). Wyzwalacz można następnie przepisać do
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;
Jeśli chcesz odpytywać inny rekord z tabeli READING, musisz użyć kombinacji wyzwalaczy instrukcji, wyzwalacza wierszowego i kolekcji PLSQL. Dobrym tego przykładem jest AskTom.oracle.com