Nemůžete načíst záznamy ze stejné tabulky ve spouštěči řádku. K hodnotám ze skutečného záznamu můžete přistupovat pomocí :new a :old (je to váš případ?). Spouštěč by pak mohl být přepsán na
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;
Pokud potřebujete dotaz na jiný záznam z tabulky READING, musíte použít kombinaci spouštěčů příkazů, spouštěče řádků a kolekce PLSQL. Dobrý příklad toho je na AskTom.oracle.com