oracle打印执行结果不一样,为什么出现同一段SQL多次运行结果不一致的情况

不是的,数据没有变化,个人感觉写法没问题(但放在存储过程中运行就是有问题,最可能是rownum导致的,但就是觉得有点诡异),换了种写法就没问题,分组都是一样的。

问题SQL长这样:

SELECT *

FROM   (SELECT rg.line_num

,rg.row_seq

,rg.col_seq

,rg.dr_cr_net_code

,rg.sign_flag

,fif.application_column_name

,decode(fif.application_column_name

,'SEGMENT1'

,segment1_low

,'SEGMENT2'

,segment2_low

,'SEGMENT3'

,segment3_low

,'SEGMENT4'

,segment4_low

,'SEGMENT5'

,segment5_low

,'SEGMENT6'

,segment6_low

,'SEGMENT7'

,segment7_low

,'SEGMENT8'

,segment8_low

,'SEGMENT9'

,segment9_low

,'SEGMENT10'

,segment10_low

,'SEGMENT11'

,segment11_low) seg_low

,decode(fif.application_column_name

,'SEGMENT1'

,segment1_high

,'SEGMENT2'

,segment2_high

,'SEGMENT3'

,segment3_high

,'SEGMENT4'

,segment4_high

,'SEGMENT5'

,segment5_high

,'SEGMENT6'

,segment6_high

,'SEGMENT7'

,segment7_high

,'SEGMENT8'

,segment8_high

,'SEGMENT9'

,segment9_high

,'SEGMENT10'

,segment10_high

,'SEGMENT11'

,segment11_high) seg_high

FROM   (SELECT rownum line_num

,dum_row.axis_seq row_seq

,dum_col.axis_seq col_seq

,racr.dr_cr_net_code

,decode(racc.sign

,'-'

,-1

,1) * decode(racr.sign

,'-'

,-1

,1) sign_flag

,greatest(nvl(racr.segment1_low

,'0')

,nvl(racc.segment1_low

,'0')) segment1_low

,least(nvl(racr.segment1_high

,'z')

,nvl(racc.segment1_high

,'z')) segment1_high

,greatest(nvl(racr.segment2_low

,'0')

,nvl(racc.segment2_low

,'0')) segment2_low

,least(nvl(racr.segment2_high

,'z')

,nvl(racc.segment2_high

,'z')) segment2_high

,greatest(nvl(racr.segment3_low

,'0')

,nvl(racc.segment3_low

,'0')) segment3_low

,least(nvl(racr.segment3_high

,'z')

,nvl(racc.segment3_high

,'z')) segment3_high

,greatest(nvl(racr.segment4_low

,'0')

,nvl(racc.segment4_low

,'0')) segment4_low

,least(nvl(racr.segment4_high

,'z')

,nvl(racc.segment4_high

,'z')) segment4_high

,greatest(nvl(racr.segment5_low

,'0')

,nvl(racc.segment5_low

,'0')) segment5_low

,least(nvl(racr.segment5_high

,'z')

,nvl(racc.segment5_high

,'z')) segment5_high

,greatest(nvl(racr.segment6_low

,'0')

,nvl(racc.segment6_low

,'0')) segment6_low

,least(nvl(racr.segment6_high

,'z')

,nvl(racc.segment6_high

,'z')) segment6_high

,greatest(nvl(racr.segment7_low

,'0')

,nvl(racc.segment7_low

,'0')) segment7_low

,least(nvl(racr. segment7_high

,'z')

,nvl(racc.segment7_high

,'z')) segment7_high

,greatest(nvl(racr.segment8_low

,'0')

,nvl(racc.segment8_low

,'0')) segment8_low

,least(nvl(racr.segment8_high

,'z')

,nvl(racc.segment8_high

,'z')) segment8_high

,greatest(nvl(racr.segment9_low

,'0')

,nvl(racc.segment9_low

,'0')) segment9_low

,least(nvl(racr.segment9_high

,'z')

,nvl(racc.segment9_high

,'z')) segment9_high

,greatest(nvl(racr.segment10_low

,'0')

,nvl(racc.segment10_low

,'0')) segment10_low

,least(nvl(racr.segment10_high

,'z')

,nvl(racc.segment10_high

,'z')) segment10_high

,greatest(nvl(racr.segment11_low

,'0')

,nvl(racc.segment11_low

,'0')) segment11_low

,least(nvl(racr.segment11_high

,'z')

,nvl(racc.segment11_high

,'z')) segment11_high

FROM   rg_report_axes          dum_col

,rg_report_axis_contents racc

,rg_report_axes          dum_row

,rg_report_axis_contents racr

WHERE  dum_col.axis_seq = racc.axis_seq(+)

AND    dum_col.axis_set_id = racc.axis_set_id(+)

AND    dum_row.axis_seq = racr.axis_seq(+)

AND    dum_row.axis_set_id = racr.axis_set_id(+)

AND    dum_col.axis_set_id = 2008

AND    dum_row.axis_set_id = 5000

) rg

,fnd_id_flex_segments fif

,fnd_application fa

WHERE  fif.application_id = fa.application_id

AND    fif.id_flex_num = 50388

AND    fif.id_flex_code = 'GL#'

AND    fa.application_short_name = 'SQLGL'

AND    rg.segment1_low <= rg.segment1_high

AND    rg.segment2_low <= rg.segment2_high

AND    rg.segment3_low <= rg.segment3_high

AND    rg.segment4_low <= rg.segment4_high

AND    rg.segment5_low <= rg.segment5_high

AND    rg.segment6_low <= rg.segment6_high

AND    rg.segment7_low <= rg.segment7_high

AND    rg.segment8_low <= rg.segment8_high

AND    rg.segment9_low <= rg.segment9_high

AND    rg.segment10_low <= rg.segment10_high

AND    rg.segment11_low <= rg.segment11_high)

WHERE  (seg_low != '0' OR seg_high != 'z')

AND    row_seq = 405

AND    col_seq = 1031;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值