飞 的个人资料二月飞雪日志列表留言簿 工具 帮助

日志


12月26日

关于Oracle的临时表

Oracle的临时表跟Sql Server的临时表有很大的不同,Sql Server的临时表用完就没了,而Oracle的临时表是实际存在的,就是说它的结构不是临时的,而数据时临时的,一般是先创建后使用,它的数据有两种临时特性,一种是Transaction级别的,Transaction一结束,这次Transaction所插入的数据就没有了,另一种是Session级别的,直到Session消失,它所插入的数据都一直存在。今天Zaza在实验Oracle的临时表的时候发现一个奇怪的现象,就是:
1、Create Global Temporary Table t1 on commit delete rows
    As
    Select * From t;
2、Create Global Temporary Table t2 on commit preserve rows
    As
    Select * from t;
第一种方法创建临时表t1后,发现select * from t1没有记录,而第二种方法创建临时表t2后,发现select * from t2是有记录的,难道Create Table t As Select这种建表方法本身就包含了一笔Transaction吗?我想应该是的,不然不会出现以上的情况,我就这个问题和自己的理解请教了我在Oracle University培训时的讲师,没能得到肯定完整的答复,不过我基本确定我的理解应该是正确的:)

评论

请稍候...
很抱歉,您输入的评论太长。请缩短您的评论。
您没有输入任何内容,请重试。
很抱歉,我们当前无法添加您的评论。请稍后重试。
若要添加评论,需要您的家长授予您相应权限。请求权限
您的家长禁用了评论功能。
很抱歉,我们当前无法删除您的评论。请稍后重试。
您已超过了一天之内允许提供的评论数上限。请在 24 小时后重试。
因为我们的系统表明您可能在向其他用户提供垃圾评论,您的帐户已禁用了评论功能。如果您认为我们错误地禁用了您的帐户,请联系 Windows Live 支持部门
完成下面的安全检查,您提供评论的过程才能完成。
您在安全检查中键入的字符必须与图片或音频中的字符一致。

若要添加评论,请使用您的 Windows Live ID 登录(如果您使用过 Hotmail、Messenger 或 Xbox LIVE,您就拥有 Windows Live ID)。登录


还没有 Windows Live ID 吗?请注册

引用通告

此日志的引用通告 URL 是:
http://wonphy.spaces.live.com/blog/cns!22042D05BB497C1A!295.trak
引用此项的网络日志