有沒有辦法更改oracle用戶的默認模式?Oracle設置每個用戶的默認方案(不會改變會話)
我在FAQ中發現它可以在會話中修改它,但這不是我想要的。例如。登錄用戶總是將另一個模式視爲默認模式。
在此先感謝。
有沒有辦法更改oracle用戶的默認模式?Oracle設置每個用戶的默認方案(不會改變會話)
我在FAQ中發現它可以在會話中修改它,但這不是我想要的。例如。登錄用戶總是將另一個模式視爲默認模式。
在此先感謝。
我相信一個登錄觸發器應該工作:
CREATE OR REPLACE TRIGGER db_logon
AFTER logon ON DATABASE WHEN (USER = 'A')
BEGIN
execute immediate 'ALTER SESSION SET CURRENT_SCHEMA = B';
END;
出於某種原因,託尼的觸發並沒有爲我工作。然而,我使用相同的概念在網上找到了略微不同的觸發器。
create or replace trigger set_default_schema
after logon on my_user.schema
begin
execute immediate 'alter session set current_schema=NEW_SCHEMA';
end;
我只是想把它扔在那裏,以防其他人有同樣的問題。
create or replace trigger AFTER_LOGON_TSFREL
AFTER LOGON ON "TSFRELEASEAPP".SCHEMA
BEGIN
EXECUTE IMMEDIATE 'ALTER SESSION SET current_schema=TSF_RELEASE';
END;
是的,這是我所發現的唯一的解決辦法,但我不希望創建一個很長的查詢(例如,當用戶(真的很長的列表)。任何另一種方式? – 2008-11-12 12:45:48
你能不能創建一個映射表,將用戶A映射到模式B,然後在觸發器中查詢該表?因此,消除WHEN(USER ='A'),在此映射表中查找用戶,然後決定是否需要更改當前模式 – 2008-11-12 14:35:42
其實我現在正在使用後註冊數據庫當(1 = 1)的一部分,它的工作,感謝您的幫助託尼 – 2008-11-14 21:02:23