Criar gatilho para inserir em outra tabela

Eu tenho algum problema ao executar o acionador abaixo:

CREATE OR REPLACE TRIGGER AFTERINSERTCREATEBILL
AFTER INSERT
ON READING
FOR EACH ROW 

DECLARE

varReadNo   Int;
varMeterID  Int;
varCustID   Varchar(10);

BEGIN 

SELECT SeqReadNo.CurrVal INTO varReadNo FROM DUAL;

Select MeterID INTO varMeterID
From Reading 
Where ReadNo = varReadNo;

Select CustID INTO varCustID
From Address A
Join Meter M 
on A.postCode = M.postCode
Where M.MeterID = varMeterID;

INSERT INTO BILL VALUES 
(SEQBILLNO.NEXTVAL, SYSDATE, 'UNPAID' , 100 , varCustID , SEQREADNO.CURRVAL); 

END;

Mensagem de erro:

* Causa: Um gatilho (ou uma função plsql definida pelo usuário mencionada nesta instrução) tentou examinar (ou modificar) uma tabela que estava sendo modificada pela instrução que a disparou.

* Ação: Reescreva o gatilho (ou função) para que não leia a tabela.

Isso significa que não devo recuperar nenhum detalhe da tabela Reading?

Acredito que o problema ocorra enquanto recupero dados da Table Reading enquanto ele está inserindo o valor:

SELECT SeqReadNo.CurrVal INTO varReadNo FROM DUAL;

Select MeterID INTO varMeterID
From Reading 
Where ReadNo = varReadNo; 

Está lá de qualquer maneira para resolver isso? Ou existe um método melhor para fazer isso? Eu preciso inserir uma nova linha na tabela BILL depois de entrar na tabela de leitura onde o ReadNo precisa fazer referência ao ReadNo Acabei de inserir.

questionAnswers(4)

yourAnswerToTheQuestion