CREATE OR REPLACE PACKAGE BODY TMS.SESSION_TMS
AS
   PROCEDURE SESSION_TMS (STATUS VARCHAR2)
   IS
      tmpVar           VARCHAR2 (3);
      present_schema   VARCHAR2 (10);
      present_user     VARCHAR2 (10);
      mesg             VARCHAR2 (300);
  BEGIN
      tmpVar := 'OFF';
      present_schema := '';
      present_user := '';
      mesg := '';

      IF SYS_CONTEXT ('USERENV', 'SESSION_USER') = 'TMS_GUEST'
         AND upper(STATUS) = 'ON'
      THEN
         EXECUTE IMMEDIATE ('ALTER SESSION SET CURRENT_SCHEMA=TMS');

         PRESENT_SCHEMA := 'TMS';
         PRESENT_USER := 'TMS_GUEST';
      END IF;
      IF SYS_CONTEXT ('USERENV', 'SESSION_USER') = 'TMS_GUEST'
         AND upper(STATUS) = 'OFF'
      THEN
         EXECUTE IMMEDIATE ('ALTER SESSION SET CURRENT_SCHEMA=TMS_GUEST');

         PRESENT_SCHEMA := 'TMS_GUEST';
         PRESENT_USER := 'TMS_GUEST';
      END IF;

      mesg := ' Your present schema ' || present_schema;
      mesg := mesg || '  User session is ' || present_user;
      DBMS_OUTPUT.put_line (mesg);
   END;
--SELECT   SYS_CONTEXT ('USERENV', 'CURRENT_SCHEMA'),
--             SYS_CONTEXT ('USERENV', 'session_user')
--    INTO   present_schema, present_user
--  FROM   DUAL;
END SESSION_TMS;
/

相关文章:

  • 2021-07-17
  • 2021-12-08
  • 2021-12-31
  • 2021-06-28
  • 2022-02-05
  • 2021-11-28
猜你喜欢
  • 2021-10-07
  • 2021-11-14
  • 2022-02-08
  • 2022-12-23
  • 2021-11-28
  • 2021-10-29
相关资源
相似解决方案