西文字体与中文字体的oracleplsql级别转换

CREATE OR REPLACE PROCEDURE GETaac001(p_aac001 in varchar2,DAT_TRANSDATE OUT DATE,
                             TRANSNUM      OUT NUMBER,
                             EXTRANSNUM    OUT NUMBER,
                             PRM_APPCODE   OUT NUMBER,
                             PRM_ERRORMSG  OUT VARCHAR2) AS
    --3 ????
    LASTUPDATEDATE DATE; --??????
    LDT_SYSDATE    DATE; --????
    I_UPDATE       NUMBER; --????
    N_EXISTS       NUMBER;
    SI_SYSDATE     DATE;
  BEGIN
    SELECT SYSDATE INTO SI_SYSDATE FROM DEX@TO_center WHERE ROWNUM = 1; --lhong ????????
    PRM_APPCODE := 0;
    EXTRANSNUM  := 0;
    SELECT SYSDATE INTO LDT_SYSDATE FROM DUAL; --????
    BEGIN
      SELECT ENDTIME - 1 / 12
        INTO LASTUPDATEDATE
        FROM DEX@to_center
       WHERE taskid = 'PERSONACCOUNT'
        AND CLINETID = '120001';
    EXCEPTION
      WHEN OTHERS THEN
        PRM_APPCODE  := -1;
        PRM_ERRORMSG := '??personaccount???????!' || SQLERRM;
        RETURN;
    END;
    DAT_TRANSDATE := LASTUPDATEDATE;
    SELECT COUNT(1)
      INTO TRANSNUM
      FROM PERSONACCOUT_DEX@TO_CENTER
    -- WHERE AAE036 >= TO_CHAR(LASTUPDATEDATE, 'yyyymmdd');
      WHERE aac001=p_aac001 ;
    FOR A IN (SELECT aac001,
                     aab001,
                     aac002,
                     UTL_RAW.CAST_TO_VARCHAR2(aac003) aac003,
                     aac004,
                     aac005,
                     aac006,
                     aac007,
                     aac008,
                     aac009,
                     aac010,
                     aac011,
                     aac012,
                     aac013,
                     aac014,
                     aac015,
                     aae005,
                     aac019,
                     aac020,
                     aic001,
                     ajc001,
                     UTL_RAW.CAST_TO_VARCHAR2(AAE011) AAE011,
                     aae036,
                     aae006,
                     aae007,
                     akc020,
                     akc021,
                     akc023,
                     aic162,
                     aac021,
                     akc030,
                     aac022,
                     aab060,
                     aac023,
                     aab034,
                     aae130,
                     aac025,
                     UTL_RAW.CAST_TO_VARCHAR2(AAE013) AAE013,
                     zzc001
                FROM PERSONACCOUT_DEX@TO_CENTER
               WHERE aac001=p_aac001
           /*  and aac001='019504' */) LOOP
      BEGIN
      
        INSERT INTO PERSONACCOUNT
          (aac001,
           aab001,
           aac002,
           aac003,
           aac004,
           aac005,
           aac006,
           aac007,
           aac008,
           aac009,
           aac010,
           aac011,
           aac012,
           aac013,
           aac014,
           aac015,
           aae005,
           aac019,
           aac020,
           aic001,
           ajc001,
            AAE011,
           aae036,
           aae006,
           aae007,
           akc020,
           akc021,
           akc023,
           aic162,
           aac021,
           akc030,
           aac022,
           aab060,
           aac023,
           aab034,
           aae130,
           aac025,
            AAE013,
           zzc001)
        VALUES
          (A.aac001,
           A.aab001,
           A.aac002,
           A.aac003,
           A.aac004,
           A.aac005,
           A.aac006,
           A.aac007,
           A.aac008,
           A.aac009,
           A.aac010,
           A.aac011,
           A.aac012,
           A.aac013,
           A.aac014,
           A.aac015,
           A.aae005,
           A.aac019,
           A.aac020,
           A.aic001,
           A.ajc001,
            A.AAE011,
           A.aae036,
           A.aae006,
           A.aae007,
           A.akc020,
           A.akc021,
           A.akc023,
           A.aic162,
           A.aac021,
           A.akc030,
           A.aac022,
           A.aab060,
           A.aac023,
           A.aab034,
           A.aae130,
           A.aac025,
           A.AAE013,
           A.zzc001);
      EXCEPTION
        WHEN DUP_VAL_ON_INDEX THEN
          UPDATE PERSONACCOUNT
             SET aab001=A.aab001,
                 aac002=A.aac002,
                 aac003=A.aac003,
                 aac004=A.aac004,
                 aac005=A.aac005,
                 aac006=A.aac006,
                 aac007=A.aac007,
                 aac008=A.aac008,
                 aac009=A.aac009,
                 aac010=A.aac010,
                 aac011=A.aac011,
                 aac012=A.aac012,
                 aac013=A.aac013,
                 aac014=A.aac014,
                 aac015=A.aac015,
                 aae005=A.aae005,
                 aac019=A.aac019,
                 aac020=A.aac020,
                 aic001=A.aic001,
                 ajc001=A.ajc001,
                  AAE011=A.AAE011,
                 aae036=A.aae036,
                 aae006=A.aae006,
                 aae007=A.aae007,
                 akc020=A.akc020,
                 akc021=A.akc021,
                 akc023=A.akc023,
                 aic162=A.aic162,
                 aac021=A.aac021,
                 akc030=A.akc030,
                 aac022=A.aac022,
                 aab060=A.aab060,
                 aac023=A.aac023,
                 aab034=A.aab034,
                 aae130=A.aae130,
                 aac025=A.aac025,
                  AAE013=A.aae013,
                 zzc001 =a.zzc001
           WHERE AAC001 = A.AAC001;
        WHEN OTHERS THEN
          PRM_APPCODE  := -1;
          PRM_ERRORMSG := '??personaccount???,????:' || NVL(A.AAC001, '') ||
                          ',????:' || SQLERRM;
          RETURN;
      END;
      EXTRANSNUM := EXTRANSNUM + 1;
      commit;
      dbms_output.put_line(A.AAC001);
    END LOOP;
    BEGIN
      UPDATE DEX@to_center
         SET begintime = SI_SYSDATE, ENDTIME = SI_SYSDATE --lhong ??
       WHERE taskid = 'PERSONACCOUNT'
        AND CLINETID = '120001';
    EXCEPTION
      WHEN OTHERS THEN
        PRM_APPCODE  := -1;
        PRM_ERRORMSG := '??personaccount???????!' || SQLERRM;
        RETURN;
    END;
 
 end  ;

你可能感兴趣的:(西文字体与中文字体的oracleplsql级别转换)