所以我想请问到底触发器是不是只能对触发的那个表(input/outpuy)操作,所以在input表里触发时不能修改store表?????可以对别的表进行修改的!
程序上面可能有问题!
程序上面可能有问题!
解决方案 »
- 紧急求助!!!win7安装oracle10g,vs2008运行查询数据没有错,但是其它的一点进去就报错
- 想把子查询中返回的多个结果拼接成一个字符串,请问怎么搞?在线等,下面是一个例子
- 请问如何在众多表中找到我的值?存储过程或者函数都行.拜托了,谢谢
- java 访问共享文件夹
- 从书上照抄一个例子,居然出错了
- 在 xp 中文版中, oracle10g 如何设置日期中的 中文月份为数字呢?
- ORACLE的建表、建索引啊什么的都只能通过sql语句建吗?
- 请问哪儿有“expert one-on-one Oracle”下载
- 我的视图为什么不能打开了?
- 请问哪有report builder的中文版电子书
- 难道win2kpro和9i不兼容?!!试了十几遍我还是装不上去,不行了...
- ora-12154 tns:无法处理服务名?(文出,马上界铁,不出,也是)才鸟
create or replace trigger trigger_store_input
after insert or update or delete on input
for each row
begin
DBMS_OUTPUT.PUT_LINE('trigger is on!');
update store set s_quantity=s_quantity+:new.i_quantity
where store.g_id=:new.g_id;
end;
/create or replace trigger trigger_store_output
after insert or update or delete on output
for each row
begin
update store set s_quantity=s_quantity-:new.t_o_quantity+:new.t_r_quantity
where store.g_id=:new.t_g_id;
end;
create or replace trigger trigger_store_input
after insert or update or delete on input
for each row
begin
DBMS_OUTPUT.PUT_LINE('trigger is on!');
update store set s_quantity=s_quantity+:new.i_quantity
where store.g_id=:new.g_id;
end;
可以触发进货表(input) 但是,对于出货表(output),用以下程序:
create or replace trigger trigger_store_output
after insert or update or delete on output
for each row
begin
update store set s_quantity=s_quantity-:new.t_o_quantity+:new.t_r_quantity
where store.g_id=:new.t_g_id;
end;
就会出现错误“警告: 创建的触发器带有编译错误”,然后不能触发 只要我插入input表新数据后,库存表(store)里面的库存量(s_quantity)都能更新,但为什么当我建立output表触发器的时候却不行??难道建立trigger_store_output触发器需要和trigger_store_input触发器相联系?就是需要级联触发??
谢谢了!