2017-05-04 7 views
1

Oracleの新機能です。私はOracleでグローバル一時表を使用しました。この一時テーブルは、フロントエンドからの入力値を格納し、さらにデータを処理します。グローバル温度表Oracle

私の質問は、複数のユーザーが異なるユーザーのデータをどのように格納するかという要求を送信するためです。たとえば、ユーザーAはレコードIDが101および102の要求を送信し、同時にユーザーBはレコードIDが103および104の要求を送信します。それで、それは独立してデータを処理するでしょうか?データをマージしませんか?

+0

質問を明確にするための例を作成してください。 [MCVE]は役に立つヒントを与えることができます。 – Aleksej

+0

「データをさらに処理する」とはどういう意味ですか?ストアドプロシージャがありますか?仕事?いくつかのDML? – APC

答えて

2

グローバル・テンポラリ・テーブルは、セッション・レベルでデータを格納します。したがって、ユーザー "A"とユーザー "B"が別々の専用接続を使用している場合、問題はありません。どちらも相手のデータを表示しません。

もちろん、現代の世界では、多くのアプリケーションがWebアプリケーションであり、ユーザーは接続プール内の共有接続を介してデータベースに接続します。これがあなたのアーキテクチャの場合、問題があります。ウェブアーキテクチャはステートレスであり、グローバル一時テーブルはステートフルです。どのようにこれを回避するかは、最初にGTTを使用している理由によります。

+0

上記の入力をいただきありがとうございますが、もう1つのシナリオは、2人の異なるタブを持つ同じユーザーの場合、データをどうやってどうやって手助けできるかということです。データはGTTに複製されますか? –