oracle proceduce

CREATE OR REPLACE PROCEDURE JY2_test(SegMent           in char,
                                     FAVOURABLE_EXTENT IN NUMBER,
                                     抵用金额          out number) as

  抵用金额0 number(8, 2);

  STR VARCHAR2(1000);

begin

  STR := 'SELECT sum(T.STD_PRICE)
         FROM ANNOUNCED_FARE T,
        (SELECT MAX(A.S_CARQ) AS S_CARQ, SEGMENT_CODE
           FROM ANNOUNCED_FARE A
          WHERE A.CARRIER_CODE = ''FM''
            AND A.SEGMENT_CODE IN (' || SegMent || ')
          GROUP BY A.SEGMENT_CODE) B
  WHERE T.S_CARQ = B.S_CARQ
    AND T.SEGMENT_CODE = B.SEGMENT_CODE
    AND T.CARRIER_CODE = ''FM''';

  /*  SELECT sum(T.STD_PRICE)
   into 抵用金额0
   FROM ANNOUNCED_FARE T,
        (SELECT MAX(A.S_CARQ) AS S_CARQ, SEGMENT_CODE
           FROM ANNOUNCED_FARE A
          WHERE A.CARRIER_CODE = ' FM '
            AND A.SEGMENT_CODE IN (SegMent)
          GROUP BY A.SEGMENT_CODE) B
  WHERE T.S_CARQ = B.S_CARQ
    AND T.SEGMENT_CODE = B.SEGMENT_CODE
    AND T.CARRIER_CODE = ' FM ';*/
/*不可以按照上述红色字体的方式去写,不可执行,执行无结果*/

  execute immediate STR
    into 抵用金额0;

  IF FAVOURABLE_EXTENT <> 0 THEN
    抵用金额 := 抵用金额0 * (1 - FAVOURABLE_EXTENT);
  else
    抵用金额 := 抵用金额0;
  END IF;

end JY2_test;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值