Oracle
 sql >> Database >  >> RDS >> Oracle

Oracle RESET_PACKAGE non reimposta il valore di una variabile nella sessione

dbms_session.clear_all_context( 'app1_ctx' );

Dovresti passare lo stesso spazio dei nomi a clear_all_context che hai passato come primo parametro a set_context .

Se non conosci tutti i contesti utilizzati dalla tua applicazione ma conosci tutti gli schemi che utilizza

for ctx in (select * 
              from dba_context
             where schema in (<<schemas your application uses>>))
loop
  dbms_session.clear_all_context( ctx.namespace );
end loop;

In questo esempio, non ci sono variabili di pacchetto, quindi non sarebbe necessario chiamare reset_package o modify_package_state .