No puede recuperar registros de la misma tabla en un activador de fila. Puede acceder a los valores del registro actual usando :nuevo y :antiguo (¿es este su caso?). El activador podría reescribirse a
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;
Si necesita consultar otro registro de la tabla READING, debe usar una combinación de activadores de declaraciones, activadores de fila y una colección PLSQL. Un buen ejemplo de esto está en AskTom.oracle.com