周浩

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
            28 隨筆 :: 0 文章 :: 16 評論 :: 0 Trackbacks
          CREATE OR REPLACE TRIGGER tr_login_record
          AFTER logon ON DATABASE
          DECLARE
          miUserSid NUMBER;
          mtSession v$session%ROWTYPE;
          CURSOR cSession(iiUserSid IN NUMBER) IS
          SELECT * FROM v$session WHERE sid = iiUserSid;
          BEGIN
          SELECT sid INTO miUserSid FROM v$mystat WHERE rownum <= 1;
          OPEN cSession(miUserSid);
          FETCH cSession
          INTO mtSession;
          --if user exists then insert data
          IF cSession%FOUND THEN
          insert into login$information
          (login_user,
          login_time,
          ip_adress,
          ausid,
          terminal,
          osuser,
          machine,
          program,
          sid,
          serial#)
          VALUES
          (ora_login_user,
          SYSDATE,
          SYS_CONTEXT('USERENV', 'IP_ADDRESS'),
          userenv('SESSIONID'),
          mtSession.Terminal,
          mtSession.Osuser,
          mtSession.Machine,
          mtSession.Program,
          mtSession.Sid,
          mtSession.Serial#);
          ELSE
          null;
          CLOSE cSession;
          raise_application_error(-20099, 'Login Exception', FALSE);
          END IF;
          CLOSE cSession;
          EXCEPTION
          WHEN OTHERS THEN
          null;
          END tr_login_record;
          posted on 2006-05-25 11:21 Derek 閱讀(312) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          Google
          主站蜘蛛池模板: 韶关市| 色达县| 武冈市| 临汾市| 会泽县| 冀州市| 桃江县| 霞浦县| 长寿区| 武川县| 武夷山市| 兴安县| 饶平县| 永兴县| 桑植县| 分宜县| 宁海县| 锦州市| 格尔木市| 从江县| 当阳市| 嘉禾县| 崇文区| 那曲县| 祁阳县| 环江| 丹巴县| 嘉善县| 巴马| 诸暨市| 南投县| 洪湖市| 山阳县| 明水县| 临沭县| 微山县| 漯河市| 宣恩县| 郁南县| 元阳县| 台中市|