Pergunta

Existe uma maneira de mudar o esquema padrão de um usuário do Oracle?

Eu encontrei-o no FAQ que eu possa alterá-lo na sessão, mas não é o que eu quero. POR EXEMPLO. o usuário durante o logon sempre vê um outro esquema como padrão.

Agradecemos antecipadamente.

Foi útil?

Solução

Eu acredito que um gatilho de logon deve funcionar:

CREATE OR REPLACE TRIGGER db_logon
AFTER logon ON DATABASE WHEN (USER = 'A')
BEGIN
    execute immediate 'ALTER SESSION SET CURRENT_SCHEMA = B';
END;

Outras dicas

Por alguma razão gatilho de Tony não funcionou para mim. No entanto, um gatilho ligeiramente diferente que eu encontrei na web usando o mesmo conceito fez.

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

Eu só queria jogá-lo lá fora, no caso de alguém tem o mesmo problema.

create or replace trigger AFTER_LOGON_TSFREL
AFTER LOGON ON "TSFRELEASEAPP".SCHEMA
BEGIN
   EXECUTE IMMEDIATE 'ALTER SESSION SET current_schema=TSF_RELEASE';
END;
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top