亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? pkg_sys_user_security.~bdy

?? 用C#開發的一套數據倉庫的代碼。(C#+ORACLE)
?? ~BDY
?? 第 1 頁 / 共 2 頁
字號:
create or replace package body PKG_SYS_USER_SECURITY is
  FUNCTION GET_HASH(P_USER_CODE IN VARCHAR2, P_PASSWORD IN VARCHAR2) RETURN VARCHAR2 AS
  BEGIN
    RETURN DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT_STRING => UPPER(P_USER_CODE) || '/' ||
                                                        UPPER(P_PASSWORD));
  END;

  PROCEDURE SP_ADD_USER(P_OUT_NUM           OUT NUMBER,
                        P_OUT_MSG           OUT VARCHAR2,
                        P_USER_ID           OUT NUMBER,
                        P_USER_CODE         IN VARCHAR2,
                        P_FIRSTNAME         IN VARCHAR2,
                        P_LASTNAME          IN VARCHAR2,
                        P_PASSWORD          IN VARCHAR2,
                        P_EMAIL             IN VARCHAR2,
                        P_DATACLEARANCE_ID  IN NUMBER,
                        P_APPGROUP_ID       IN NUMBER,
                        P_CUSTGROUP_ID      IN NUMBER,
                        P_PRODGROUP_ID      IN NUMBER,
                        P_VENDGROUP_ID      IN NUMBER,
                        P_USERSTATUS_CODE   IN VARCHAR,
                        P_UPDATEBYUSER_CODE IN VARCHAR2) AS
  
    V_USER_CODE_COUNT NUMBER;
  BEGIN
    SELECT COUNT(*) INTO V_USER_CODE_COUNT 
    FROM SYS_USER 
    WHERE USER_CODE = UPPER(P_USER_CODE);
  
    IF V_USER_CODE_COUNT <> 0 THEN
      P_OUT_NUM := 1;
      P_OUT_MSG := 'USER ALREADY EXISTS: ' || P_USER_CODE;
    
      PKG_SYS_LOG.SP_LOG_ACTIVITY(P_UPDATEBYUSER_CODE,
                                 'SYSINFO',
                                 'ERROR',
                                 'ADD_USER',
                                 P_OUT_MSG,
                                 P_OUT_NUM);
    ELSE
      INSERT INTO SYS_USER
        (USER_ID,
         USER_CODE,
         FIRSTNAME,
         LASTNAME,
         PASSWORD,
         EMAIL,
         DATACLEARANCE_ID,
         APPGROUP_ID,
         CUSTGROUP_ID,
         PRODGROUP_ID,
         VENDGROUP_ID,
         USERSTATUS_CODE,
         UPDATEDATE,
         UPDATEBYUSER_CODE,
         PWLASTCHANGEDDATE)
      VALUES
        ((SELECT MAX(USER_ID) + 1 FROM SYS_USER),
         UPPER(P_USER_CODE),
         P_FIRSTNAME,
         P_LASTNAME,
         GET_HASH(P_USER_CODE, P_PASSWORD),
         P_EMAIL,
         P_DATACLEARANCE_ID,
         P_APPGROUP_ID,
         P_CUSTGROUP_ID,
         P_PRODGROUP_ID,
         P_VENDGROUP_ID,
         P_USERSTATUS_CODE,
         SYSDATE,
         UPPER(P_UPDATEBYUSER_CODE),
         SYSDATE);
    
      COMMIT;
      
      SELECT MAX(USER_ID) INTO P_USER_ID FROM SYS_USER;
      -------------------------- Standard Return Block   - Success 
      P_OUT_NUM := 0;
      P_OUT_MSG := 'NEW USER ADDED: ' || P_USER_CODE;
    
      PKG_SYS_LOG.SP_LOG_ACTIVITY(P_UPDATEBYUSER_CODE,
                                 'SYSINFO',
                                 'SUCCESS',
                                 'ADD_USER',
                                 P_OUT_MSG,
                                 P_OUT_NUM);
    
      --------------------------------------  
    END IF;
  EXCEPTION
    WHEN OTHERS THEN
      ROLLBACK;
      P_OUT_NUM := SQLCODE;
      P_OUT_MSG := SUBSTR(SQLERRM, 1, 500);
      PKG_SYS_LOG.SP_LOG_ACTIVITY(P_UPDATEBYUSER_CODE,
                                 'SYSINFO',
                                 'ERROR',
                                 'ADD_USER',
                                 P_OUT_MSG,
                                 P_OUT_NUM);
  END;

  /* ******************************************************************************** */
  PROCEDURE SP_UPDATE_USER(P_OUT_NUM           OUT NUMBER,
                           P_OUT_MSG           OUT VARCHAR2,
                           P_USER_ID           IN NUMBER,
                           P_USER_CODE         IN VARCHAR2,
                           P_FIRSTNAME         IN VARCHAR2,
                           P_LASTNAME          IN VARCHAR2,
                           P_EMAIL             IN VARCHAR2,
                           P_DATACLEARANCE_ID  IN VARCHAR2,
                           P_APPGROUP_ID       IN VARCHAR2,
                           P_CUSTGROUP_ID      IN VARCHAR2,
                           P_PRODGROUP_ID      IN VARCHAR2,
                           P_VENDGROUP_ID      IN VARCHAR2,
                           P_USERSTATUS_CODE   IN VARCHAR2,
                           P_UPDATEBYUSER_CODE IN VARCHAR2) AS
  
    V_ROWID ROWID;
  
  BEGIN
    SELECT ROWID INTO V_ROWID 
    FROM SYS_USER 
    WHERE USER_ID = P_USER_ID FOR UPDATE;
  
    UPDATE SYS_USER
       SET FIRSTNAME         = P_FIRSTNAME,
           LASTNAME          = P_LASTNAME,
           USER_CODE         = P_USER_CODE,
           EMAIL             = P_EMAIL,
           DATACLEARANCE_ID  = P_DATACLEARANCE_ID,
           APPGROUP_ID       = P_APPGROUP_ID,
           CUSTGROUP_ID      = P_CUSTGROUP_ID,
           PRODGROUP_ID      = P_PRODGROUP_ID,
           VENDGROUP_ID      = P_VENDGROUP_ID,
           USERSTATUS_CODE   = P_USERSTATUS_CODE,
           UPDATEDATE        = SYSDATE,
           UPDATEBYUSER_CODE = UPPER(P_UPDATEBYUSER_CODE)
     WHERE ROWID = V_ROWID;
  
    COMMIT;
  
    ------------------------------------- Standard Return Block   - Success 
    P_OUT_NUM := 0;
    P_OUT_MSG := 'USER DETAILS CHANGED FOR: ' || P_USER_CODE;
    PKG_SYS_LOG.SP_LOG_ACTIVITY(P_UPDATEBYUSER_CODE,
                               'SYSINFO',
                               'SUCCESS',
                               'UPDATE_USER',
                               P_OUT_MSG,
                               P_OUT_NUM);
  
    --------------------------------------  
  
  EXCEPTION
    WHEN NO_DATA_FOUND THEN
      ROLLBACK;
      P_OUT_NUM := -20000;
      P_OUT_MSG := 'INVALID USERNAME';
      PKG_SYS_LOG.SP_LOG_ACTIVITY(P_UPDATEBYUSER_CODE,
                                 'SYSINFO',
                                 'ERROR',
                                 'UPDATE_USER',
                                 P_OUT_MSG,
                                 P_OUT_NUM);
    
    WHEN OTHERS THEN
      ROLLBACK;
      P_OUT_NUM := SQLCODE;
      P_OUT_MSG := SUBSTR(SQLERRM, 1, 500);
      PKG_SYS_LOG.SP_LOG_ACTIVITY(P_UPDATEBYUSER_CODE,
                                 'SYSINFO',
                                 'ERROR',
                                 'UPDATE_USER',
                                 P_OUT_MSG,
                                 P_OUT_NUM);
    
  END;
  /* ******************************************************************************** */
  PROCEDURE SP_CHANGE_PASSWORD(P_OUT_NUM           OUT NUMBER,
                               P_OUT_MSG           OUT VARCHAR2,
                               P_USER_CODE         IN VARCHAR2,
                               P_OLD_PASSWORD      IN VARCHAR2,
                               P_NEW_PASSWORD      IN VARCHAR2,
                               P_UPDATEBYUSER_CODE IN VARCHAR2) AS
    V_ROWID ROWID;
  BEGIN
    SELECT ROWID
      INTO V_ROWID
      FROM SYS_USER
     WHERE USER_CODE = UPPER(P_USER_CODE)
       AND PASSWORD = GET_HASH(P_USER_CODE, P_OLD_PASSWORD)
       FOR UPDATE;
  
    UPDATE SYS_USER
       SET PASSWORD = GET_HASH(P_USER_CODE, P_NEW_PASSWORD),
           PWLASTCHANGEDDATE = SYSDATE,
           UPDATEDATE = SYSDATE,
           UPDATEBYUSER_CODE = UPPER(P_UPDATEBYUSER_CODE)
     WHERE ROWID = V_ROWID;
    COMMIT;
  
    ------------------------------------- Standard Return Block - Success 
    P_OUT_NUM := 0;
    P_OUT_MSG := 'PASSWORD CHANGED FOR' || P_USER_CODE || ' SUCCESSFULLY.';
  
    PKG_SYS_LOG.SP_LOG_ACTIVITY(P_UPDATEBYUSER_CODE,

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区四区av| 国产精品77777| 久久超级碰视频| 成人h动漫精品一区二区| 欧美亚洲动漫精品| 2020国产精品自拍| 亚洲综合偷拍欧美一区色| 国产精品一区在线观看你懂的| 色婷婷久久久综合中文字幕| 久久亚洲精品国产精品紫薇| 亚洲国产成人高清精品| av午夜精品一区二区三区| 精品日本一线二线三线不卡| 亚洲福利电影网| 成人免费视频免费观看| 精品免费日韩av| 午夜精彩视频在线观看不卡| 99精品久久只有精品| 久久久久久久久久久久久夜| 天堂成人免费av电影一区| 日本乱人伦aⅴ精品| 国产精品久久久久影视| 国产精品一二三在| 久久女同精品一区二区| 青娱乐精品视频| 69p69国产精品| 婷婷久久综合九色综合伊人色| 91福利精品视频| 亚洲女同一区二区| 99精品欧美一区二区蜜桃免费 | 国产午夜亚洲精品不卡| 偷窥少妇高潮呻吟av久久免费| 91激情五月电影| 中文字幕乱码久久午夜不卡| 国产精品 欧美精品| 久久久久高清精品| 国产超碰在线一区| 久久精品一区蜜桃臀影院| 极品销魂美女一区二区三区| 欧美一区二区三区性视频| 五月激情综合色| 91麻豆精品国产91久久久 | 亚洲综合色成人| 91天堂素人约啪| 亚洲猫色日本管| 欧美视频精品在线观看| 亚洲成a天堂v人片| 91精品国产91久久综合桃花 | 欧美日韩国产综合一区二区| 五月婷婷色综合| 欧美一区二区三区视频在线| 日韩国产在线观看| 欧美成人bangbros| 激情文学综合插| 中文字幕国产精品一区二区| av在线不卡网| 亚洲大型综合色站| 日韩亚洲欧美高清| 成人午夜碰碰视频| 亚洲精品免费播放| 91麻豆精品国产91久久久久久| 精品亚洲国产成人av制服丝袜| 久久久不卡网国产精品二区| av亚洲精华国产精华精| 亚洲成av人片在线| 久久综合久久综合久久综合| 成人高清伦理免费影院在线观看| 一区二区三区影院| 日韩欧美黄色影院| 99麻豆久久久国产精品免费优播| 亚洲一二三四久久| 久久人人爽人人爽| 91福利在线免费观看| 国产在线日韩欧美| 亚洲免费大片在线观看| 欧美一级片在线| 成人av在线播放网站| 日韩精品免费视频人成| 国产午夜精品美女毛片视频| 欧美亚洲综合另类| 国产麻豆成人精品| 亚洲一二三四在线观看| 国产视频一区二区在线观看| 91成人在线免费观看| 国产精品一区久久久久| 午夜电影久久久| 中文字幕高清不卡| 日韩视频123| 91九色02白丝porn| 国产麻豆精品95视频| 亚洲国产精品久久久久秋霞影院 | 日韩av电影天堂| 自拍av一区二区三区| 日韩视频在线你懂得| 91蜜桃在线观看| 国产成人精品亚洲777人妖| 青青草97国产精品免费观看无弹窗版| 国产精品久久久久久福利一牛影视 | 国产日韩欧美激情| 欧美一区二区性放荡片| 色婷婷亚洲婷婷| 成人黄色免费短视频| 久久国产日韩欧美精品| 亚洲不卡一区二区三区| 亚洲精品乱码久久久久久| 亚洲国产高清不卡| 久久久久久久久一| 欧美哺乳videos| 日韩亚洲欧美一区二区三区| 欧美久久久久久蜜桃| 日本电影欧美片| 99国产欧美久久久精品| 成人精品国产福利| 成人免费视频视频在线观看免费| 国产成人自拍高清视频在线免费播放| 免费在线看成人av| 日本欧美一区二区三区乱码| 亚洲成国产人片在线观看| 一区二区三区在线高清| 亚洲精品视频免费看| 亚洲精品美国一| 一区二区三区四区视频精品免费 | 成人免费毛片高清视频| 国产一区二区伦理| 激情综合色丁香一区二区| 极品尤物av久久免费看| 国内偷窥港台综合视频在线播放| 久久不见久久见免费视频7| 日本特黄久久久高潮| 日韩av中文在线观看| 秋霞午夜av一区二区三区| 美腿丝袜亚洲色图| 国产精品91一区二区| 粉嫩久久99精品久久久久久夜| 国产精品99久久久久久久女警| 国产sm精品调教视频网站| 丁香一区二区三区| 97久久久精品综合88久久| 欧美伊人久久大香线蕉综合69 | 久久国产福利国产秒拍| 国模套图日韩精品一区二区| 福利一区福利二区| 色综合天天在线| 欧美一区二区三区四区在线观看 | 日韩制服丝袜av| 国产一区二区三区高清播放| 成人久久18免费网站麻豆| 91视视频在线直接观看在线看网页在线看| 99久久精品免费看| 欧美日韩免费视频| 精品国产伦一区二区三区观看方式| 国产调教视频一区| 亚洲国产一区视频| 国产又黄又大久久| 91福利区一区二区三区| 欧美v国产在线一区二区三区| 国产精品网站在线| 日韩综合小视频| 国产成人av电影在线| 欧美日韩日日摸| 国产精品久久久久婷婷二区次| 亚洲大片精品永久免费| 国产69精品久久久久777| 欧美日韩一区二区三区在线| 久久嫩草精品久久久精品| 亚洲综合免费观看高清完整版在线 | 自拍偷拍国产精品| 免费观看在线色综合| 91在线观看成人| 精品88久久久久88久久久 | 国产亚洲一区二区在线观看| 亚洲自拍都市欧美小说| 国产成人亚洲综合色影视| 欧美日本韩国一区二区三区视频| 国产欧美一区二区三区在线看蜜臀| 亚洲国产精品视频| 盗摄精品av一区二区三区| 欧美一卡二卡三卡| 一区二区三区蜜桃网| 国产98色在线|日韩| 日韩欧美一级精品久久| 亚洲影院在线观看| 成人va在线观看| 久久久久久一二三区| 日韩av中文在线观看| 欧美色精品在线视频| 亚洲视频香蕉人妖| 成人性生交大片免费 | 欧美体内she精高潮| 国产精品理伦片| 高清国产一区二区三区| 精品国产免费人成电影在线观看四季 | 欧美日韩的一区二区| 亚洲视频在线一区| 成人国产亚洲欧美成人综合网| 精品国产乱码久久久久久1区2区| 日韩中文欧美在线| 欧美剧在线免费观看网站| 亚洲成a人片在线不卡一二三区 | 国产精品久久久久四虎|