本人遇到一个关于ORACLE触发器的问题:
问题描述:
有两个表  :订单主表,订单子表订单主表Order:order_id字段
订单子表order_detail:product_id,product_name,order_id现在有个需求就是  每插入一条订单后就将这个订单和商品 做成迪卡乘积的形式 插入到 另外一个表 order_product ,结构如下 order_id,product_combo
product_combo是  product_name组合形成的,例如现在编号为code的订单订了A、B两种商品  那么组合就是 A、B、AB,那么order_product的表里就有三条记录
code,A
code,B
code,A;B问题的是这样的,当我更新了订单子表后假设把B变成了C,那么 order_product的表里的记录应该变成
code,A
code,C
code,A;C
我给order_detail定义了更新触发器:
根据新更新的order_id查询到主表ID,将order_product的此order_id的记录删掉
然后再根据order_id从order_detail中将商品信息再查询出来,进行组合,首先要select product_id,product_name from order_detail where order_id = :new.order_id。
问题就出在了这里,数据库提示说order_detail的结构发生了改变,函数或触发器不能读它。
本人属于数据库菜鸟,请教各位,应该如何解决这个问题?