CREATE TABLE COUNTRY
(
COUNTRY_ID VARCHAR2(2 BYTE) NOT NULL,
NAME VARCHAR2(200 BYTE),
CURRENCY_ID VARCHAR2(3 BYTE) DEFAULT 'EUR'
)
CREATE TABLE CURRENCY
(
CURRENCY_ID NUMBER NOT NULL,
NAME VARCHAR2(20 BYTE),
VALUE NUMBER,
BANK_PERCENTAGE NUMBER
)
CREATE OR REPLACE TRIGGER update_currency
AFTER UPDATE
ON SOFTDEV.COUNTRY
FOR EACH ROW
DECLARE
BEGIN
if :new.currency_id = :old.currency_id
then
null;
else
INSERT INTO CURRENCY
( CURRENCY_ID,
NAME,
VALUE,
BANK_PERCENTAGE)
VALUES
( CURRENCY_ID_SEQ.nextval,
:new.currency_id,
1,
0);
end if;
END;
我在更新时有这个触发器,它可以正常工作,直到没有与旧货币相同的货币id为止。。当我试图插入货币存在我得到错误。
更新“货币”,第20行