出什么错呢?请你说清楚另外,你的触发器将是一个永远执行的触发器,甚至会导致服务器死机!如果只是想在插入后进行修改应该为如下:create or replace trigger t_a_test
after insert //而不是 after insert or update
on a_test
for each row
begin
update a_test set weight=30;
end t_a_test;
after insert //而不是 after insert or update
on a_test
for each row
begin
update a_test set weight=30;
end t_a_test;
解决方案 »
- DB2中存储过程中的异常处理问题
- 关于动态游标的问题
- 关于Oracle Report 6i问题,非常急,请高手赐教
- 表的导出导入遇到字符集的问题
- 应用程序安装在WIN2003,oracle安装在LINUX上面,为什么应用程序不能连接到数据库呢呢?难道和我的数据库OracleServiceeasdbs.longmay.com.c
- 新手求助:设计一个图书管理系统数据库。
- 怎么将表空间sos的主人设置成用户ALPHA啊?而且ALPHA只能看到SOS表空间,怎么建立一个SID啊?
- 我用dblink把远程数据库的表复制到本地数据库,表的纪录有2000多万条,我直接在本地CREATE TABLE 总报TEMP表空间无法扩展,如何解决
- 如何实现oracle中表和主键索引分别存放于不同的表空间
- 我在备份orale的时候总是在任务提交到作业队列中以后遇到"VNI-2015验证错”
- update该怎么用?
- 史上最菜的问题(关于oracle,sql等)
去掉那个 or update后,还是同样的错误错误:
表a_test发生了变化,触发器/函数不能读
触发器在执行过程中出错
after insert or update
on a_test
for each row
begin
:new.weight:=30;
end t_a_test;
create or replace trigger man_tri
after insert or update or delete on a
for each row
begin
if inserting then
insert into a1 values(:new.id,:new.num,:new.d,:new.sl1,:new.sl2,:new.sl3);
elsif updating then
update a1 set id=:new.id,num=:new.num,d=:new.d,sl1=:new.sl1,sl2=:new.sl2,sl3=:new.sl3 where id=:old.id;
else
delete from a1 where id=:old.id;
end if;
end;
/
该为:
update a_test set weight=:new.weight where id=:old.id;
Oracle里面在触发器里面不能够对触发表再进行更改吗?