【发布时间】:2020-05-11 18:32:45
【问题描述】:
我正在尝试创建一个触发器,该触发器在我在表“cuenta”中插入并在表“cuenta_log”中插入时运行,此插入的值之一是通过接受输入获得的。
create or replace trigger trigger_new_account
AFTER INSERT ON cuenta FOR EACH ROW
accept vstring prompt "Please enter your name: ";
declare v_line varchar2(50);
begin
v_line:= 'Hello '||'&vstring';
insert into cuentas_log (fecha,cuenta,cliente)
values (now(),:new.idcuenta,v_line);
end;
cuenta_log 结构是这样的:
cuenta_log
("FECHA" DATE DEFAULT (sysdate),
"CUENTA" NUMBER(38,0),
"CLIENTE" VARCHAR2(50 BYTE)
)
【问题讨论】:
-
你遇到什么错误?
-
ORA-04079:00000 - “无效的触发器规范”,*原因:create TRIGGER 语句无效。 *操作:检查语句的语法是否正确。
-
首先,你应该使用 ':new' 而不是 'new'。
-
其次,格式化你的代码,看起来很糟糕。
-
好的,已编辑,谢谢。但我仍然有同样的问题。