我需要触发器的帮助。需要触发器 写一个表ZVIRE_SeznamZmen。这个触发后我总是得到插入错误。
create table ZVIRE(
ID INT PRIMARY KEY,
NAZEV VARCHAR(30) NOT NULL,
DRUH VARCHAR(30) NOT NULL,
JMENO VARCHAR(30) NOT NULL);
create table ZVIRE_SeznamZmen(
ID_ int primary key,
NAZEV VARCHAR(30),
DRUH VARCHAR(30),
JMENO VARCHAR(30),
ZMENA_DRUH VARCHAR(30),
ZMENA_DATUM timestamp);
create trigger ZvireInsert
AFTER insert on ZVIRE
for each row
begin
insert into ZVIRE_SeznamZmen(ID_,NAZEV,DRUH,JMENO,ZMENA_DRUH,ZMENA_DATUM) VALUES(:NEW.ID_,:NEW.NAZEV,:NEW.DRUH,:NEW.JMENO,'Insert',SYSTIMESTAMP);
END;
错误:
LINE/COL ERROR
-------- -----------------------------------------------------------------
2/82 PLS-00049: bad bind variable 'NEW.ID_'
答案 0 :(得分:-1)
是的,@威廉是对的,它是下划线:
CREATE OR REPLACE TRIGGER ZvireInsert
AFTER INSERT ON ZVIRE
FOR EACH ROW
BEGIN
insert into ZVIRE_SeznamZmen(ID_,NAZEV,DRUH,JMENO,ZMENA_DRUH,ZMENA_DATUM)
VALUES(:NEW.ID,:NEW.NAZEV,:NEW.DRUH,:NEW.JMENO,'Insert',SYSTIMESTAMP);
END;
/
Trigger ZVIREINSERT compiled