pengdali(大力 V3.0)--请进,有急事

ineedtostudy 2003-10-12 08:51:54
我想从某个表里(字段比较多)生成一个ref cursor
但是不能用一个select 实现,
比如


条件 数值 条件 数值
-------------------------------------------------------------------
本年新增加 20000 某段时间调出
本年减少 10000 某段时间调入
某段时间增加 3000
某段时间减少 4000
-------------------------------------------------------------------
二虚线之间的值都是要单独计算出来放入cursor 里的
我该怎么做呢?我对ref cursor 不了解,并且不知道时候可以一个一个往里面添加数值。
拜托!
...全文
8 点赞 收藏 6
写回复
6 条回复
ineedtostudy 2003年10月13日
上面的我要测试一下才知道

还一个问题(我可真麻烦,是吗):
表一:
dw bm mc sl je rq
01 bm1 计算机 1 10000 2001-01-01
01 bm1 空调 2 20000 2002-01-01
01 bm1 计算机 2 20000 2003-01-01
01 bm2 打印机 1 10000 2004-01-01
01 bm2 计算机 1 10000 2002-01-01
01 bm4 电视机 1 4000 2003-01-01

根据输入的时间段 rq1,rq2生成如下表:rq1='2002-12-12',rq2='2003-12-12'
——————————————————————————————
mc 起初余额 本期发生额 期末余额
计算机 20000 20000 40000
空调 20000 0 20000
打印机 0 0 0
电视机 0 4000 4000
——————————————————————————————

我知道也应该用decode ,但是涉及到日期比较,我就不知道该怎么写了。

回复 点赞
pengdali 2003年10月13日
select xx from yy
union all
select xx from bb
union all
select xx from cc
union all
select xx from dd

??这个意思吗?
回复 点赞
ineedtostudy 2003年10月13日
我不明白呀。
因为2虚线之间的每一个值都要放单独存到ref cursor里,而且那些值需要不同的select 才能生成
因为这个生成后的表比较小,所以我想一个一个值加入到ref cursor 。但是我不知道该怎么加。
回复 点赞
ineedtostudy 2003年10月13日
我知道了:你看看对不对

open my_cur FOR
select flmc,jldw,
sum(decode(sign(bdrq-to_date(v_rqs,'YYYY-MM-DD')),-1,sl,0)) qcsl,
sum(decode(sign(bdrq-to_date(v_rqs,'YYYY-MM-DD')),-1,yz,0)) qcyz,
sum(decode(sign(bdrq-to_date(v_rqz,'YYYY-MM-DD')),1,sl,0)) qmsl,
sum(decode(sign(bdrq-to_date(v_rqz,'YYYY-MM-DD')),1,yz,0)) qmyz
from gdzckp group by flmc,jldw;

回复 点赞
pengdali 2003年10月12日
open p_rc for
select .....

??
回复 点赞
ineedtostudy 2003年10月12日
2虚线之间值我可以用select 单独生成,但是如何放入ref cursor里呢?
回复 点赞
发动态
发帖子
Oracle 高级技术
创建于2007-09-28

2929

社区成员

1.8w+

社区内容

Oracle 高级技术相关讨论专区
社区公告
暂无公告