想在同一表中同时添加两条相对数据,如何写触发器

the7thsense 2011-10-17 08:43:27
在一张表中插入数据 id = 'AAABBB' 时,想同时插入id = 'BBBAAA'的一条数据,其他字段完全一致。
就是说本表的数据都是成对出现,两条数据更新时同时更新,删除时同时删除
行级触发器无法同时操作本表其他行数据,有没有其他解决的方案。
谢谢!!
表是领导设计的,你们懂的!

...全文
93 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
the7thsense 2011-10-28
  • 打赏
  • 举报
回复
先去了解一下自治事务再来。。。
the7thsense 2011-10-28
  • 打赏
  • 举报
回复
xiaobn_cn的建议不错,不过基于这个表已经做了大量编码,如果在项目之初或许可以做此调整。或者直接用联合主键就可以了,不懂数据库的人来设计表结构,无语
cosio 2011-10-28
  • 打赏
  • 举报
回复
create or replace trigger tri_test
  after insert or update or delete on test
pragma autonomous_transaction;
  begin
  if updating then
  dbms_output.put_line('修改');
  elsif deleting then
  dbms_output.put_line('删除');
  elsif inserting then
  dbms_output.put_line('插入');
  end if;
  end;
jumpheightway 2011-10-28
  • 打赏
  • 举报
回复
把表id置为'AAABBB,BBBAAA'
这样可否
minitoy 2011-10-17
  • 打赏
  • 举报
回复
自治事务
xiaobn_cn 2011-10-17
  • 打赏
  • 举报
回复
建议楼主采用下面的方案来解决:
表不变,仍然只插入一条记录AAABBB。为该表建一个视图,视图采用union方式动态加上BBBAAA的记录,对该表的查询改为对视图的查询,这样就不需要那么麻烦的维护两条数据了。

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧