在Oracle中更新临时表数据

时间:2012-07-27 07:54:55

标签: oracle plsql

如果我有临时表(10个字段)并使用存储过程(单列的单个更新语句)更新它。

是否需要提交以更新临时表?没有提交的事情可以正常工作吗?

2 个答案:

答案 0 :(得分:3)

如果它是真实的temporary table,其中的数据只会在您的会话中可见,即使您提交,也不会向其他任何人提交。如果on commit条款为preserve rows,那么即使对您来说提交也没有任何区别,但如果它是delete rows那么您commit之后就会丢失数据,即使在您的会话中也是如此

如果它不是真正的临时表,则其中的数据将仅对您的会话可见,直到您提交。无论什么叫做你的程序(通常)会在同一个会话中,所以会看到数据发生变化,通常调用者会决定是提交还是回滚 - 在程序中执行此操作通常不是一个好主意。

答案 1 :(得分:-1)

这样说 - 如果你没有提交 - 只有你的会话在任何时间点看到。