我不赞成。
1:有触发器会大大降低新增删除的速度
2:新增你要写trigger,删除你也要写trigger,更新你还要写trigger。维护麻烦!你写trigger是为了查询方便,我觉得你可以写成视图来做。
如果你的版本是oracle9i以上的话,你可以做成物化视图,那样更简单。
查许也很方便。
1:有触发器会大大降低新增删除的速度
2:新增你要写trigger,删除你也要写trigger,更新你还要写trigger。维护麻烦!你写trigger是为了查询方便,我觉得你可以写成视图来做。
如果你的版本是oracle9i以上的话,你可以做成物化视图,那样更简单。
查许也很方便。
解决方案 »
- 如何利用Object Browser图形化工具提高Oracle开发工作效率(一)SQL编写调试篇
- 问几个问题,关于重命名as和like
- oracle存储过程有什么错误
- 紧急求救,数据库恢复问题!!!!!
- 关于数据更新问题
- 我有一开发问题!请赐教!!!!
- oracle卸载以后tns服务依然存在,1521端口仍然被占用
- 关于red hat下oracle9I的rman备份
- ORACLE 9i数据库的中文标准版和企业版有什么区别?
- Oracle 光标嵌套使用出现的问题,高手请近!!
- 就是这样的问题,帮帮我
- ORA-01089:immediate shutdown in progress-no operations are permitted!
1,用户输入的分别存放在临时表里,FLAG里不包括HJ*字样,所以触发器执行操作
2,第一步执行插入记录操作,又触发了触发器,但FLAG里包括HJ*字样,所以触发器不执行操作,
3,如此循环,ok!
2.你在触发器里是无法查询触发表的,不知你如何得到合计,还是在程序里处理比较好。
建视图可实现我的目的吗?请高手细说来....
1 23 2000 工业 14 2.3 23_2000
2 23 2000 农业 36 3.74 23_20004 24 2000 地表水 20 2.4 24_2000
5 24 2000 地下水 10 3.2 24_2000现在问题是我表里没有那两条记录,我用什么方法把它们插进去呢?其值就是每条合计上面的N条记录值的和。越想越糊涂~~~~~~~~~~~能实现吗?(越来越怀疑可行性了!呵呵)
6 24 2000 合计 30 5.6 24_2000_HJ3是1\2条记合计来的,6是4\5条记录合计来的,用个什么方法能够智能的判断一下呢?是写个触发器插一条就判断一条,还是写个过程什么???迷茫~~~~~
谁合计谁是通过FLAG字段标识的,所以上面语句也要group by FLAG才行
合计表我有了,可将来我查询时怎么能连成我想要的样子呢?每条合计记录显示在不同的位置,
如:
ID ADDV YY KIND Col1 Col2 FLAG
1 23 2000 工业 14 2.3 23_2000
2 23 2000 农业 36 3.74 23_2000
3 23 2000 合计 50 6.04 23_2000_HJ
4 24 2000 地表水 20 2.4 24_2000
5 24 2000 地下水 10 3.2 24_2000
6 24 2000 合计 30 5.6 24_2000_HJ
我1/2/4/5条记录在一张表,3/6在一张表,怎么连呢?
直接建立视图即可。
create or replace view aa_view
select addv,yy,sum(col1) col1,sum(col2) col2 from aa group by addv,yy;这样如果想得到你的结果,可以执行查询:
select addv,yy,kind,col1,col2 from aa
union
select addv,yy,'合计',col1,col2 from aa_view
order by 1,2
这样也可以吧?!
(
select id, ... from yourtable
union all
select 9999999 as id, .... from 合计表
)
order by addv,yy,id
Lastdrop(空杯)的方法有时间我也会试试!
谢谢各位!:)