清除Oracle会话状态

时间:2012-10-02 10:06:35

标签: oracle plsql

Oracle上的数据库连接可以具有会话状态,该状态在连接的生命周期内持续存在,即以包变量的形式存在。

是否有办法在连接期间刷新/清除呼叫之间的所有状态而不会终止连接并重新建立新连接。

即。考虑首先在包init中设置的包变量,稍后在该包中的某个过程中进行修改:如何“重置”包以便从1个连接多次调用该过程总是导致重新启动包?

一般情况下:如何在该连接上的客户端执行语句之间“重置”任何会话状态?

2 个答案:

答案 0 :(得分:8)

dbms_session.reset_package是我能想到的最接近的。请参阅此tahiti link

答案 1 :(得分:0)

除了dbms_session.reset_package(在RenéNyffenegger的回答中提出),它会重置所有包,你必须编写自己的包程序来重置单个包的状态。该过程只是将所有包变量设置为NULL(或任何适当的)。