网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>数据库技术>>Oracle技术>>Oracle开发>查看文档  
  自定义临时表实现及在Oracle Spatial应用     
  文章作者:未知  文章来源:未知  
  查看:103次  录入:管理员--2007-05-27  
  Oracle 临时表功能介绍:

    Oracle中的临时表是全局的,需要在数据库设计时创建完成,而不是程序使用时。每个登陆用户都使用这一个相同的临时表,但互相之间看不到彼此的数据,也就是说临时表是会话独立的。

   Oracle 的临时表分为事务型和会话型。

    事务型临时表就是指在事务处理过程中插入的记录只在事务提交或回滚之前有效,一事务完成,表中的记录便被自动清除。

    会话型临时表指临时表中的数据在本次会话期间一直有效,直到会话结束。会话结束后表中针对此次会话的数据会自动清空。

    Oracle 临时表的不足之处:

    1、不支持lob对象,例如 Spatial 的SDO_GEOMETRY.这也许是设计者基于运行效率的考虑,但实际应用中确实需要此功能时就无法使用临时表了。

    2、不支持主外键关系。这意味着临时表

    鉴于以上原因,洒家设计了一份自定义的临时表处理办法,使之可以支持Oracle Spatial数据类型和主外键关系,而且不会出现并发冲突。

    1、以常规表的形式创建临时数据表的表结构,但要在每一个表的主键中加入一个 SessionID 列以区分不同的会话。(可以有lob列和主外键)

    2、写一个用户注销触发器,在用户结束会话的时候删除本次会话所插入的所有记录(SessionID等于本次会话ID的记录)。

    3、程序写入数据时,要顺便将当前的会话ID(SessionID)写入表中。

    4、程序读取数据时,只读取与当前会话ID相同的记录即可。

    功能增强的扩展设计:

    1、可以在数据表上建立一个视图,视图对记录的筛选条件就是当前会话的SessionID.

    2、数据表中的SessionID列可以通过Trigger实现,以实现对应用层的透明性。

    3、高级用户可以访问全局数据,以实现更加复杂的功能。

    扩展临时表的优点:

    1、实现了与Oracle的基于会话的临时表相同的功能。

    2、支持SDO_GEOMETRY等lob数据类型。

    3、支持表间的主外键连接,且主外键连接也是基于会话的。

    4、高级用户可以访问全局数据,以实现更加复杂的功能。
 
 
上一篇: Oracle智能代理与OMS的问题解答    下一篇: 不要忽视Oracle 10g STATSPACK新功
  相关文档
解析Linux + Oracle最简化最重要的步骤 09-01
深入研究Oracle数据库中空间管理的方法 06-10
讲解oracle数据库10g新特性中的闪回查询 05-12
解析:学习oracle架构应当掌握哪些知识 11-19
如何对存储过程返回的结果进行条件查询 02-28
"oracle"闪回功能恢复偶然丢失的数据 (1) 02-27
如何将非归档日志模式切换到归档日志模式 05-13
初学Oracle最经常碰到的错误及解决方案 08-05
Oracle是波音747还是MySQL丰田汽车呢? 06-03
oracle数据库pl/sql过程调试的输出方法 08-18
使用flashback query 恢复误删除的数据 11-15
oracle数据库百分比格式化的解决方案 03-20
详细讲述Oracle中的to_date参数含义 05-27
使用oracle数据库高级复制中最简单的功能 06-12
Oracle巧取指定记录以及巧用外关联查询 07-07
实例讲解如何查找某个对象的定义情况 (1) 03-13
用简单的方法获取oracle语句的执行时间 05-16
数据库Oracle 11g Alert Log 的新变化 09-01
教你快速掌握oracle中"kill"进程的方法 (1) 01-31
Oracle 9i 数据库移动过程 04-11
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
厦门(总部):13616026886 福州:0591-87655121
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息