我自己写了个简单的触发器,但是一直提示
错误(9,13): PL/SQL: ORA-00942: 表或视图不存在
错误(9,1): PL/SQL: SQL Statement ignored
create or replace TRIGGER before_socre_update
BEFORE update OF score
on bcc
for EACH row when (new.score<70)
DECLARE
BEGIN
DBMS_OUTPUT.PUT_LINE('score = ' || :new.score);
insert into badscore(id,newscore) VALUES (:old.id,:new.score);
END before_socre_update;
本人有点小白,望详解
------解决方案--------------------
LZ使用哪个用户写的触发器,表如果不属于这个用户,需要确定访问权限还有在表前添加schema。
------解决方案--------------------
我在同一个用户下创建了表和触发器,然后执行,没有任何问题。
你上面出现的问题可能是你没有访问这个表的权限。
------解决方案--------------------
LZ,你试试加上schema名字呢?看看trigger是否正常运行。
------解决方案--------------------
schema就是用户名。
------解决方案--------------------
看不出,下面是我之前的例子:
create or replace trigger tri_test1
after insert or update or delete on emp
for each row --是否需要针对每条操作的数量做关注;
begin
if inserting then
insert into log values (user,'EMP',sysdate,'Insert');
elsif updating then
insert into log values (user,'EMP',sysdate,'Update');
else
insert into log values (user,'EMP',sysdate,'Delete');
end if;
end tri_test1;