我是oracle中的新手,我希望在(expAnnee * 100 + expMois)< YYMM(SYSTATE的YYMM)用于检查信用卡的有效性。
expAnnee和expMois是数字。
我收到以下错误:
PLS-00201: identifier 'NEW.EXPANNEE' must be declared
但这是一个触发器,在我的" InfoCredit" table expAnnee和expMois确实存在。
CREATE OR REPLACE TRIGGER VALID_CARD
BEFORE INSERT ON INFOCREDIT
FOR EACH ROW
DECLARE
ex_expired EXCEPTION;
testdate NUMBER;
BEGIN
SELECT to_number(to_char(to_date(SYSDATE, 'DD-MM-YYYY'), 'YYMM'))
INTO testdate
FROM Dual;
if ((new.expAnnee*100+new.expMois) < testdate)
Then RAISE ex_expired;
END IF;
EXCEPTION
WHEN ex_expired
THEN DBMS_OUTPUT.PUT_LINE('CARD EXPIRED');
END;
/
答案 0 :(得分:0)
将new
称为:new
例如
if ((:new.expAnnee*100+:new.expMois) < testdate)