这个思路用存储过程该怎么写?

fernery 2005-02-24 05:09:42
有两个记录集c1 c2记录数都非常多有30万条
c1有字段1 字段2 c2有字段1 字段3
如果c1!字段1=c2!字段2那就对一张表插入记录c1!字段1 c1!字段2+c2!字段3
由于速度问题
我想了个办法,c1 c2均按字段1排序 如果 c1!字段1=c2!字段2 执行插入操作,并使c1.c2都移动到下一条记录(movenext),否则如果c1!字段1小则c1移动到下一条记录如果c2!字段1小则c2移动到下一条记录
请问这样的功能用pl sql能不能实现?因为我看里面的光标的用法只能loop不能自由的移动上一条记录或下一条记录

如能提供些代码不胜感谢
...全文
139 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fernery 2005-02-25
  • 打赏
  • 举报
回复
就是两个记录集,c1有字段a,b c2有字段c,d
例如
c1 c2
a b c d
1 3 1 6
2 4 3 7
3 5

如果c1!a=c2!c 象c1!a=1 c2!c=1 就执行一个命令insert into tab(1,3+6)
sos_help 2005-02-25
  • 打赏
  • 举报
回复
insert into tab
select a, b+d
from c1, c2
where a=c
如果要速度快一点,可以对a和c建索引
lynx 2005-02-25
  • 打赏
  • 举报
回复
insert into tab
select a, b+d
from c1, c2
where a=c
MountLion 2005-02-25
  • 打赏
  • 举报
回复
这些感叹号,oracle能用吗?
insert into c1
select a, b+d
from c1, c2
where a=c and b<>d
;
xpony 2005-02-25
  • 打赏
  • 举报
回复
insert into tab select c1.a, c1.b+c2.d
from c1 ,c2
where c1.a = c2.c
xpony 2005-02-24
  • 打赏
  • 举报
回复
c1有字段1 字段2 c2有字段1 字段3
如果c1!字段1=c2!字段2那就对一张表插入记录c1!字段1 c1!字段2+c2!字段3

不大明白你的意思

17,082

社区成员

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

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