全局临时表Oracle

全局临时表Oracle,oracle,oracle11g,global-temp-tables,Oracle,Oracle11g,Global Temp Tables,对甲骨文来说是新的。我在Oracle中使用了全局临时表。这个临时表存储前端的输入值,我们进一步处理数据 所以我的问题是,既然多个用户将发送请求,那么如何为不同的用户存储数据?例如,用户A已发送记录id为101和102的请求,同时用户B已发送记录id为103和104的请求。那么它将独立处理数据?它不会合并数据吗 全局临时表在会话级别存储数据。因此,如果用户“A”和用户“B”使用单独的专用连接,则没有问题:两者都看不到对方的数据 当然,在现代世界中,许多应用程序都是web应用程序,用户通过连接池中的

对甲骨文来说是新的。我在Oracle中使用了全局临时表。这个临时表存储前端的输入值,我们进一步处理数据


所以我的问题是,既然多个用户将发送请求,那么如何为不同的用户存储数据?例如,用户A已发送记录id为
101
102
的请求,同时用户B已发送记录id为
103
104
的请求。那么它将独立处理数据?它不会合并数据吗

全局临时表在会话级别存储数据。因此,如果用户“A”和用户“B”使用单独的专用连接,则没有问题:两者都看不到对方的数据


当然,在现代世界中,许多应用程序都是web应用程序,用户通过连接池中的共享连接连接到数据库。如果这是您的体系结构,那么您会遇到一个问题:web体系结构是无状态的,全局临时表是有状态的。如何解决这一问题取决于您首先使用GTT的确切原因

请尝试构建一个示例来澄清您的问题。可以提供有用的提示。你说的“我们进一步处理数据”是什么意思?你有一个存储过程吗?工作?一些DML?感谢上面的输入,这一点很清楚,但还有一种情况是,如果您可以帮助我,例如同一用户使用两个不同的选项卡,那么数据会发生什么情况。GTT中的数据是否重复?