关于临时表,临时表变量使用的时候,insert数据,这些数据是在内存中,还是数据文件中,是否会100%成功呢?

DiligencyMan 2008-12-19 01:56:52
问下,plsql块里面,声明一个临时表变量,往这个临时表变量里面insert数据的话,这些数据是存储放在内存里面吧,那么insert的时候是否100%会成功而不用判断呢?
...全文
129 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
DiligencyMan 2008-12-22
  • 打赏
  • 举报
回复
谢谢大伙!
oraclelogan 2008-12-22
  • 打赏
  • 举报
回复
楼主最好在insert的时候,加个异常判断吧!
oraclelogan 2008-12-22
  • 打赏
  • 举报
回复
不错啊,正解!你真的是oracle高级DBA吗?



[Quote=引用 5 楼 oracledbalgtu 的回复:]
1.一般是放到内存中,但是如果你的数据量很大,超出了可用大小,oracle会把数据暂存到temporary表空间的数据文件中.
2.在不出错的情况下,当然会100%的成功了.如果不成功就会到exception段执行,或者跳出.


引用楼主 DiligencyMan 的帖子:
问下,plsql块里面,声明一个临时表变量,往这个临时表变量里面insert数据的话,这些数据是存储放在内存里面吧,那么insert的时候是否100%会成功而不用判断呢?
[/Quote]
oracledbalgtu 2008-12-20
  • 打赏
  • 举报
回复
1.一般是放到内存中,但是如果你的数据量很大,超出了可用大小,oracle会把数据暂存到temporary表空间的数据文件中.
2.在不出错的情况下,当然会100%的成功了.如果不成功就会到exception段执行,或者跳出.


[Quote=引用楼主 DiligencyMan 的帖子:]
问下,plsql块里面,声明一个临时表变量,往这个临时表变量里面insert数据的话,这些数据是存储放在内存里面吧,那么insert的时候是否100%会成功而不用判断呢?
[/Quote]
zhouxu_hust 2008-12-19
  • 打赏
  • 举报
回复
```
Andy__Huang 2008-12-19
  • 打赏
  • 举报
回复
变量表在sqlserver里面有这种说法,好象在oracle里面没有变量表这种说法吧?
建立临时表就用create temporary table 表名(....)
但它在临时段中是实际存在的,不象sqlserver的临时表,退出后自动删除临时表

又是违规昵称 2008-12-19
  • 打赏
  • 举报
回复
不知道楼主的临时表变量是指什么,
但不管是table类型的数组还是temporary table,都应该在内存中

在存储过程当中,把所有不可预测的异常在异常段中加
exception when others
rollback;
这样就相当于处理了,不需要每个语句都加判断的

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧