首页 > 数据库 > Oracle > 正文

Oracle中Trigger例子2

2024-08-29 13:31:33
字体:
来源:转载
供稿:网友

  procedure dcgn_dccm_crc (

      in_period       in       varchar2,

      in_soc          in       varchar2,

      in_actv_date    in       varchar2,

      o_soc_rcc_amt   out      number,

      o_ind           out      char

   )

   is

      -- working variables

      nbase_amt             number (19, 4)  default 0;

      namt                  number (19, 4)  default 0;

      nmax_rate             number (19, 4)  default 0;

      nmin_rate             number (19, 4)  default 0;

      ntmp_amt              number (19, 4)  default 0;

      bissocfound           boolean         default false;

      vservice_feature      varchar2 (10);                             --:1:2

      vsoc                  char (9);

      deffective_date       date;

      vfeature_code         char (6);

      crc_charge_lvl_code   char (1);

      crc_usg_depend_code   char (1);

      crc_rate_qty_type     char (1);

      vsoc_v                char (9);

      veffective_date_v     varchar2 (14);

      vfeature_code_v       char (6);

      bamt_cal_ind          boolean;

      namt_ws               number (19, 4);

      bsoc_ind              boolean;

      twhen                 timestamp ( 3 );

      ierr_code             integer;

      vmsg              varchar2 (255);

   begin

      begin

         select rate_ftr.soc, rate_ftr.effective_date,

                rate_ftr.feature_code, rate_ftr.rc_charge_lvl_code,

                rate_ftr.rc_usg_depend_code, rate_ftr.rc_rate_qty_type

           into vsoc, deffective_date,

                vfeature_code, crc_charge_lvl_code,

                crc_usg_depend_code, crc_rate_qty_type

           from rated_feature rate_ftr, feature ftr

          where rate_ftr.soc = in_soc

            and rate_ftr.effective_date <= to_date (in_actv_date, 'yyyymmdd')

            and nvl (to_char (rate_ftr.expiration_date, 'yyyymmdd'),

                     '47001231'

                    ) >= in_actv_date

            and rate_ftr.rc_info_ind = 'y'

            and rate_ftr.feature_code = ftr.feature_code

            and ftr.feature_group = 'sf'

            and ftr.period = rate_ftr.period

            and ftr.period = in_period;

      exception

         when no_data_found

         then

                   end;

end;
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表