优化查询,游标太慢了,请教高手指点!

weijiawei1130 2008-11-10 06:47:28
我实现一个多条件的组合查询
用游标(十万条记录)

查询符合条件的总表里对应的 总额、部门代码(需要去另一表中查询中文)、项目代码(需要去另一表中查询中文) 这有很多项

再查询(需要按条件求和)已经使用的费用 以上数据 逐行 填入一个外部数据源的表

目前用游标循环 + SQL sum() 实现
但是速度过慢

请教高招

不胜感激!!!!!!
...全文
104 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
liubocy 2008-11-11
  • 打赏
  • 举报
回复
创建存储过程的数据窗口:
先选择数据窗口的类型(如grid),在接下来的窗口里选择最后一个stored procedure,然后就是选择数据库中的某个存储过程了。

视图能和存储过程在一个DW中使用么?
不能

存储过程的数据窗口怎么调用呢?
存储过程有几个参数,retrieve()函数就有几个参数,位置不变

如下的一个存储过程:
--------------------------------
create proc p_get(@a int, @b int)
as
select @a as a , @b as b
---------------------------------
那么,以此为数据源的数据窗口,刷新:dw_1.retrieve(1,2)
结果:
a b
1 2
青锋-SS 2008-11-11
  • 打赏
  • 举报
回复
可以用数据窗口或者datastore代替游标.
weijiawei1130 2008-11-10
  • 打赏
  • 举报
回复
视图能和存储过程在一个DW中使用么?

请给点例子


感激不尽
weijiawei1130 2008-11-10
  • 打赏
  • 举报
回复
能给点例子么?
存储过程怎么调用呢?
是在数据窗口中还是用PB
liubocy 2008-11-10
  • 打赏
  • 举报
回复
诶,也可以的,用getsqlselect和setsqlselect来设置数据源。

问题是这个sql如果比较复杂的话,在前台执行没有在数据库中执行效率高
liubocy 2008-11-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zhgwbzhd 的回复:]
用视图不可以吗?
[/Quote]
视图不能传参数
zhgwbzhd 2008-11-10
  • 打赏
  • 举报
回复
用视图不可以吗?
liubocy 2008-11-10
  • 打赏
  • 举报
回复
做个存储过程,把条件传到存储过程里后查询出数据。
然后做个储存过程为数据源的dw

743

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 脚本语言
社区管理员
  • 脚本语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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