zoukankan      html  css  js  c++  java
  • 存储过程之异常

    CREATE OR REPLACE PROCEDURE "ELYLQXJYBAHF_IN_XKZ" (ywid in varchar2, --业务主键
    v_xkzbh in varchar2, --许可证编号
    flag out varchar2 --存储过程返回状态
    ) is
    v_raise exception;
    begin
    --第一步,更新许可证状态
    update GG_XKZ_QXJYELBA t
    set t.xkzbh = v_xkzbh,
    t.fzrq = to_char(sysdate, 'yyyymmdd'),
    t.yxq = to_char(add_months(sysdate, 60) - 1, 'yyyymmdd'),
    t.czbs = 'V',
    t.instnum = f_getslbs(),
    t.lastdate = sysdate,
    t.datexc = '11'
    where sqid = ywid;
    --更新经营范围表中的许可证号
    update GG_XKZ_QXJYELBA_JYFW set XKZBH=v_xkzbh where XKZID=(select XKZID from GG_XKZ_QXJYELBA where sqid = ywid);
    --第二步,插入信息全表
    insert into xzxk_qxjyelba_xx_qb
    (xxqbid,
    qyid,
    qymc,
    lsgx,
    yyzzzch,
    zzjgdm,
    clrq,
    zs,
    yyqx,
    jycsqx,
    jycsjd,
    jycs,
    zczb,
    jyfs,
    yzbm,
    jyms,
    kfdzqx,
    kfdzjd,
    kfdz,
    kflxr,
    kflxdh,
    jyfw,
    lxrxm,
    lxrzjlx,
    lxrzjhm,
    lxrdh,
    lxrsj,
    lxrcz,
    lxrdzyj,
    qyryzs,
    qyzlglry,
    qyshfwry,
    qyzyjsry,
    jymj,
    kfmj,
    jycstj,
    kftj,
    kfsfkqy,
    bz,
    bjbs,
    sffrqy,
    instnum,
    lastdate,
    datexc)
    select sqid,
    qyid,
    qymc,
    lsgx,
    yyzzzch,
    zzjgdm,
    clrq,
    zs,
    yyqx,
    jycsqx,
    jycsjd,
    jycs,
    zczb,
    jyfs,
    yzbm,
    jyms,
    kfdzqx,
    kfdzjd,
    kfdz,
    kflxr,
    kflxdh,
    jyfw,
    lxrxm,
    lxrzjlx,
    lxrzjhm,
    lxrdh,
    lxrsj,
    lxrcz,
    lxrdzyj,
    qyryzs,
    qyzlglry,
    qyshfwry,
    qyzyjsry,
    jymj,
    kfmj,
    jycstj,
    kftj,
    kfsfkqy,
    bz,
    bjbs,
    sffrqy,
    f_getslbs(),
    sysdate,
    '11'
    from xzxk_qxjyelba_hf_sq
    where sqid = ywid;

    --第三步,把许可证表信息更新到全表中
    update xzxk_qxjyelba_xx_qb
    set (xkzbh, fzbm, yxq, fzrq, zzywlx) =
    (select xkzbh, fzbm, yxq, fzrq, zzywlx
    from GG_XKZ_QXJYELBA
    where sqid = ywid)
    where xxqbid = ywid;

    --第四步,插入人员信息全表
    insert into xzxk_qxjyelba_xx_ry
    (ryid,
    xxqbid,
    rylx,
    xm,
    zjlx,
    zjhm,
    zw,
    xl,
    sxzy,
    zc,
    bz,
    instnum,
    lastdate,
    datexc)
    select ryid,
    sqid,
    rylx,
    xm,
    zjlx,
    zjhm,
    zw,
    xl,
    sxzy,
    zc,
    bz,
    f_getslbs(),
    sysdate,
    '11'
    from xzxk_qxjyelba_hf_ry
    where sqid = ywid;

    --第五步,插入经营范围信息全表
    insert into xzxk_qxjyelba_xx_jyfw
    (jyfwid, xxqbid, cplmc, gllb, cpldh, instnum, lastdate, datexc)
    select jyfwid, sqid, cplmc, gllb, cpldh, f_getslbs(), sysdate, '11'
    from xzxk_qxjyelba_hf_jyfw
    where sqid = ywid;
    --插入库房地址
    insert into xzxk_qxjyelba_xx_kfdz
    (dzid, xxqbid, qx, jd, xxdz, lxr, lxdh, kfmj, kftj, bz, instnum, lastdate, datexc)
    select dzid, sqid, qx, jd, xxdz, lxr, lxdh, kfmj, kftj, bz, f_getslbs(),sysdate,'11'
    from xzxk_qxjyelba_hf_kfdz where sqid=ywid;
    --第六步,插入产品信息全表
    insert into xzxk_qxjyelba_xx_cp
    (cpid, xxqbid, jycpmc, gllb, cpldh, cpzch, instnum, lastdate, datexc)
    select cpid,
    sqid,
    jycpmc,
    gllb,
    cpldh,
    cpzch,
    f_getslbs(),
    sysdate,
    '11'
    from xzxk_qxjyelba_hf_cp
    where sqid = ywid;

    --第七步,插入设备信息全表
    insert into xzxk_qxjyelba_xx_sssb
    (sssbid, xxqbid, mc, ggxh, jd, sl, yt, instnum, lastdate, datexc)
    select sssbid, sqid, mc, ggxh, jd, sl, yt, f_getslbs(), sysdate, '11'
    from xzxk_qxjyelba_hf_sssb
    where sqid = ywid;

    flag := 'Y';
    commit;
    exception
    when no_data_found then
    flag := 'N';
    rollback;
    when too_many_rows then
    flag := 'N';
    rollback;
    when v_raise then
    flag := 'N';
    rollback;
    end ELYLQXJYBAHF_IN_XKZ;

  • 相关阅读:
    【语言处理与Python】6.3评估
    win10同时安装 office2016和visio2016
    如何学好C语言(转)
    数据库索引
    Redis系列(二)如何接受客户端请求并调用处理函数
    Redis系列(三)事件处理细节分析及epoll介绍
    linux下查看某一个程序所使用的内存方法总结
    c++ 二级指针详解&&hiredis api
    C风格字符串
    twemproxy简介
  • 原文地址:https://www.cnblogs.com/meimao5211/p/4332347.html
Copyright © 2011-2022 走看看