行トリガーの同じテーブルからレコードを取得することはできません。 :newと:oldを使用して、実際のレコードから値にアクセスできます(これはあなたの場合ですか?)。その後、トリガーを次のように書き換えることができます
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;
READING表から他のレコードを照会する必要がある場合は、文トリガー、行トリガー、およびPLSQLコレクションを組み合わせて使用する必要があります。この良い例は、AskTom.oracle.com にあります。