ユーザーごとのデフォルトスキーム(セッションを変更しない)のOracle設定

StackOverflow https://stackoverflow.com/questions/283589

質問

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;

他のヒント

何らかの理由でトニーのトリガーが機能しませんでした。ただし、同じ概念を使用してWeb上で見つけたわずかに異なるトリガーはそうでした。

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;
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top