0

SQL サーバーにレポートがあり、これを Oracle に移行しています。

  1. 私がSQLサーバーで使用したアプローチは、一時テーブル(ハッシュテーブル)に特定の月の合計(売上)をロードし、このテーブルを使用して他のトランザクションテーブルと結合して詳細を表示することですが、オラクルに関してはわかりませんここでも同じ方法を使用できます。ハッシュ テーブル (SQL サーバーの一時テーブル) はセッションに固有のものであり、出力に問題が生じない可能性があるためです。

  2. オラクルにグローバル一時テーブルがあることを知りました。それらは上記で説明した方法で機能しますか?

  3. ユーザーがテーブルの作成/削除権限を持っていない場合でも、グローバル一時テーブルを使用できますか?

私を助けてください。

4

1 に答える 1

0

誰かがあなたを助けるために、プロセスがどのように実行されるかのコードまたは少なくともいくつかの疑似コードを示す必要があります。そうは言っても...

  1. Oracle が他のデータベースの一時テーブルと異なる点の 1 つは、一時テーブルが必要になるたびに作成しないことです。それらを一度作成すると、コミット/ロールバックするまで (トランザクション ベース)、またはセッションを終了するまで (セッション ベースのグローバル一時テーブル)、テーブル内のデータが存在します。また、一時テーブルのデータは、データをテーブルに挿入するセッションにのみ表示されます。

  2. 出力ファイルを一度生成し、後でそのデータが必要ない場合は、いくつかの小さな変更を加えることで、グローバル一時テーブルがおそらくきれいに収まるでしょう。

  3. 使用するたびに一時テーブルを作成するわけではないため、作成/削除権限は必要ありません。必要なのは、挿入/読み取り特権だけです。とにかく別のセッションのデータを読み取ることができないため、読み取るだけでは役に立ちません。

于 2012-07-13T21:53:15.187 に答える