简体   繁体   English

插入后插入ORACLE触发器+插入

[英]ORACLE TRIGGER AFTER INSERT + insert into

I need help with trigger.Need Trigger to writing to a table ZVIRE_SeznamZmen.After this trigger i always get error with insert. 我需要触发器的帮助。需要触发器写入表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;

Error: 错误:

LINE/COL ERROR
-------- -----------------------------------------------------------------
2/82     PLS-00049: bad bind variable 'NEW.ID_'

Yes, @William is right, it's the underscore: 是的,@ William是正确的,这是下划线:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM