5

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

有没有办法在连接期间刷新/清除调用之间的所有状态,而不会终止连接并重新建立新连接。

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

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

4

2 回答 2

8

dbms_session.reset_package是我能想到的最接近的。看到这个大溪地链接

于 2012-10-02T10:09:25.277 回答
0

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

于 2012-10-02T10:45:11.753 回答