【发布时间】:2017-01-18 10:50:46
【问题描述】:
看不到我的代码哪里错了...有人能解释一下我做错了什么吗?我尝试了从:new."new_name" 到将表前缀:NEW.sh_name 到:NEW.name 的所有方法,不知道还能做什么......
这是表格:
CREATE TABLE sh_auro (
new_name varchar2(30),
old_name varchar2(30),
user_name varchar2(30),
entry_date varchar2(30),
operation varchar2(30)
);
这里是超级英雄桌:
create table superhero(
v_name varchar2(20)
);
这里是触发器:
create or replace trigger superhero_auro
before insert or delete or update on superhero
for each row
enable
declare
v_user varchar2(30);
v_time varchar2(30);
begin
select user, TO_CHAR(sysdate, 'DD/MON/YYYY HH24:MI:SS') into v_user, v_time from dual;
if inserting then
insert into sh_auro(new_name, old_name, user_name, entry_date, operation) values(:NEW.new_name, null, v_user, v_time, 'Insert');
elsif deleting then
insert into sh_auro(new_name, old_name, user_name, entry_date, operation) values(null, :OLD.old_name, v_user, v_time, 'Delete');
elsif updating then
insert into sh_auro(new_name, old_name, user_name, entry_date, operation) values(:NEW.new_name, :OLD.old_name, v_user, v_time, 'Update');
end if;
end;
这是错误:
Error(7,82): PLS-00049: bad bind variable 'NEW.NEW_NAME'
Error(9,88): PLS-00049: bad bind variable 'OLD.OLD_NAME'
Error(11,82): PLS-00049: bad bind variable 'NEW.NEW_NAME'
Error(11,97): PLS-00049: bad bind variable 'OLD.OLD_NAME'
【问题讨论】: