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

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


条件 数值 条件 数值
-------------------------------------------------------------------
本年新增加 20000 某段时间调出
本年减少 10000 某段时间调入
某段时间增加 3000
某段时间减少 4000
-------------------------------------------------------------------
二虚线之间的值都是要单独计算出来放入cursor 里的
我该怎么做呢?我对ref cursor 不了解,并且不知道时候可以一个一个往里面添加数值。
拜托!
...全文
76 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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里呢?

3,494

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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