0

我在 SQL Server 中有一份报告,我正在将其迁移到 Oracle。

  1. 我在 SQL Server 中使用的方法是将给定月份的人加载到临时表(哈希表)中,并使用该表与其他事务表连接以显示详细信息,但是当涉及到 oracle 时,我不确定是否我可以在这里使用相同的方法,因为哈希表(SQL 服务器中的临时表)是特定于会话的,并且可能不会对输出产生任何问题,请告知 oracle 中是否有类似的东西。

  2. 我开始知道 oracle 中有全局临时表,它们是否以我上面提到的方式工作,也

  3. 如果用户没有创建/删除表权限,他们还能使用全局临时表吗?

请帮我。

4

1 回答 1

0

您必须展示一些代码或至少一些关于您的流程如何运行的伪代码,以便任何人帮助您。话说回来...

  1. 与其他数据库中的临时表相比,oracle 中的一个不同之处是您不会在每次需要它们时都创建它们。您创建它们一次,表中的数据会一直存在,直到您提交/回滚(基于事务)或直到您结束会话(基于会话的全局临时表)。此外,临时表中的数据仅对将数据插入表中的会话可见。

  2. 如果您只生成一次输出文件并且以后不需要该数据,那么全局临时表可能会完全适合,只需进行一些小的更改。

  3. 由于您不会在每次使用临时表时创建它们,因此您不需要创建/删除权限。您所需要的只是插入/读取权限。只是阅读将无济于事,因为无论如何您都无法读取另一个会话的数据,因此没有用。

于 2012-07-13T21:53:15.187 回答