Oracle 8i 引入 SYS_CONTEXT 取代舊有 USERENV 函數,不僅能回傳 Session 資訊 (SID、語言、DBA 權限),更支援**應用程式定義的上下文屬性-值對**,儲存在 SGA 中,存取極快且安全。
CREATE CONTEXT hr_context USING hr.hr_context_pkg;DBMS_SESSION.SET_CONTEXT('HR_CONTEXT','DEPT', v_dept);CREATE OR REPLACE TRIGGER dbt_logon AFTER LOGON ON DATABASE BEGIN hr.hr_context_pkg.initialize_hr_context; EXCEPTION WHEN OTHERS THEN NULL; END;SELECT SYS_CONTEXT('HR_CONTEXT','DEPT') FROM DUAL;
即可取得當前用戶部門 ID,無需自行查表。