Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Oracle RESET_PACKAGE não redefine o valor de uma variável na sessão

dbms_session.clear_all_context( 'app1_ctx' );

Você precisaria passar o mesmo namespace para clear_all_context que você passou como o primeiro parâmetro para set_context .

Se você não conhece todos os contextos que seu aplicativo usa, mas conhece todos os esquemas que ele usa
for ctx in (select * 
              from dba_context
             where schema in (<<schemas your application uses>>))
loop
  dbms_session.clear_all_context( ctx.namespace );
end loop;

Neste exemplo, não há variáveis ​​de pacote, então não seria necessário chamar reset_package ou modify_package_state .