代码之家  ›  专栏  ›  技术社区  ›  Zsolt Botykai

按用户设置Oracle默认方案(不更改会话)

  •  15
  • Zsolt Botykai  · 技术社区  · 16 年前

    是否有方法更改Oracle用户的默认架构?

    我在FAQ中发现我可以在会话中修改它,但这不是我想要的。例如,登录时的用户总是将另一个模式视为默认模式。

    事先谢谢。

    3 回复  |  直到 12 年前
        1
  •  23
  •   Tony Andrews    16 年前

    我认为登录触发器应该工作:

    CREATE OR REPLACE TRIGGER db_logon
    AFTER logon ON DATABASE WHEN (USER = 'A')
    BEGIN
        execute immediate 'ALTER SESSION SET CURRENT_SCHEMA = B';
    END;
    
        2
  •  12
  •   Ryan Cook    15 年前

    出于某种原因,托尼的扳机对我不起作用。然而,我在网络上发现了一个使用相同概念的稍微不同的触发器。

    create or replace trigger set_default_schema
    after logon on my_user.schema
    begin
      execute immediate 'alter session set current_schema=NEW_SCHEMA';
    end;
    

    我只是想把它扔出去,以防别人也有同样的问题。

        3
  •  1
  •   Stephan    12 年前
    create or replace trigger AFTER_LOGON_TSFREL
    AFTER LOGON ON "TSFRELEASEAPP".SCHEMA
    BEGIN
       EXECUTE IMMEDIATE 'ALTER SESSION SET current_schema=TSF_RELEASE';
    END;