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 に答える