Pregunta

¿hay alguna manera de cambiar el esquema predeterminado de un usuario de Oracle?

Lo encontré en las preguntas frecuentes que puedo modificarlo en la sesión, pero no es lo que quiero. P.EJ. el usuario al iniciar sesión siempre ve otro esquema como predeterminado.

Gracias de antemano.

¿Fue útil?

Solución

Creo que un disparador de inicio de sesión debería funcionar:

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

Otros consejos

Por alguna razón, el gatillo de Tony no funcionó para mí. Sin embargo, un disparador ligeramente diferente que encontré en la web usando el mismo concepto lo hizo.

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

Solo quería tirarlo por si alguien más tiene el mismo 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 bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top