曾经作过类似的,大致方法如下,可以提高效率
1、创建一个临时表T,结构与C相同
2、通过C与A的关系查询:如下
INSERT INTO T
(
SELECT C.[OTHER COL],B.NUM
FROM group_cde C
,(SELECT A.GROUP_ID,SUM(A.NUM) AS NUM
FROM group_temp A
GROUP BY GROUP_ID
) B
WHERE B.[..]=A.[..])
3、删除C表数据(或按条件)
4、把T表数据写入C表
1、创建一个临时表T,结构与C相同
2、通过C与A的关系查询:如下
INSERT INTO T
(
SELECT C.[OTHER COL],B.NUM
FROM group_cde C
,(SELECT A.GROUP_ID,SUM(A.NUM) AS NUM
FROM group_temp A
GROUP BY GROUP_ID
) B
WHERE B.[..]=A.[..])
3、删除C表数据(或按条件)
4、把T表数据写入C表
解决方案 »
- 请问个关于查询的问题,关于时间套叠的!
- 求教一个多对多的匹配问题 Oracle
- oracle查看当前用户的所创建的所有表的信息
- 安装Oracle10g时出现“createfile error 32 when trying set file time”
- 触发器SCOTT.USER_CHANGE_EMPDATA 无效且未通过重新验证
- OracleOraHome81ManagementServer无法启动???
- ORACLE数据库字符集问题,紧急
- 一个关于删除纪录、插入统计结果的问题
- 这个SQL语句怎么写?
- 怎样在select语句中计算两个日期时间字段的差值并返回为秒单位???
- pl/sql问题:有什么办法可以替代临时表,在其上可以执行insert,select...?
- 如何察看一个用户都拥有哪些表或视图呢?
B.group_id = C.group_id 还是A.group_id = C.group_id?再次谢谢
因为update里面也有游标,不过是oracle本身为了
更新数据而建的,
我觉得你的那句更新语句速度应该很快的吧?
在group_temp表上增加字段group_id的索引