动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Oracle教程 ]的信息

本月文章推荐
.Oracle常用技巧和脚本.
.Powerdesigner使用建议(完整版).
.standby Database.
.Oracle10g 特性之数据仓库和集成.
.手把手教你创建RMAN CATAGORY.
.创建实体化视图产生ORA-600 [ksm.
.外部程序使一切变得简单.
.Oracle数据库的空间管理技巧.
.Oracle字符值的比较和储存.
.用Oracle9i保护你的电子商务.
.学习总结: Oracle 的软件结构.
.Oracle10g + Solaris9 for x86 +.
.Oracle-常用用户SQL.
.案例讨论:批量删除Oracle数据库.
.上传文件至Oracle数据库.
.数据库PL/SQL异常处理(组图).
.ORACLE索引介绍与高性能SQL优化.
.Oracle SQLCODE/SQLERRM 的应用.
.指定一个where条件来有条件地导出.
.Oracle数据库网络与安全常见问题.

临时表在Oracle数据库与SQL Server数据库中的异同(1)

发表日期:2008-6-26 |


  常见应用:

  临时表在数据库设计中,有着举足轻重的作用。

  如我们可以利用临时表的功能来限制同一个用户名多次登陆到同一个系统中去。例如现在有一个财务管理系统,企业希望同一个用户在同一时间里只能登陆一次,这主要是用来限制每位员工都以自己的用户名与密码登陆。如此限制的目的主要是为财务管理系统中的每张单据找到其主人。

  原始方案:

  在以前数据库设计的时候,也有人不用临时表进行这方面的限制,而用实体数据库表来登记相关的信息。如在用户信息表中有一列专门用来记录用户的当前登陆状态。当用户登陆系统后,该用户登陆状态的字段就改为Y,而当用户退出系统能后,该字段的内容又改为N。这个方案看起来是可行的,但是,其在实际应用中,有一个非常大的漏洞。若用户登陆到系统后,终端因为各种原因,如病毒、断电等突然状况,发生死机的话,此时,用户虽然没有登陆到系统中去,但是,因为其退出系统的时候,没有正常退出,这就导致在财务管理系统中的用户信息表中,显示该用户的登陆状态仍然为Y。此时,用户尝试登陆到财务管理系统中去的话,就会被系统拒绝,系统会认为该用户已经登陆了系统,不能重复登陆。

  所以说,利用实体表来记录用户登陆的信息,存在着管理上的漏洞。

  利用临时表实现用户重新登陆的限制:

  后来,数据库设计师们想,能否把该用户登陆信息记录在一张临时性的表中呢?当用户结束会话,无论是正常的退出还是因为意外情况的退出,只要用户结束一个会话后,那么该临时表中的内容就会清空。

  若跟这个需求结合的话,数据库设计师就希望能够实现如下功能。

  当用户登陆系统开始一个会话后,数据库系统就建立一张临时表,该表中至少有一个内容,就是用户的帐号(或者该帐号对应的ID)。当有其他用户登陆到系统的时候,系统会先从这张临时表中查询,是否有相同的用户记录。若有的话,就会拒绝用户的登陆,警告用户已经有相同的用户登陆了。当用户正常退出系统或者因为以外情况退出系统结束当前会话的时候,那么数据库系统就会清除这张表的内容。如此,当用户下次登陆系统的话,即使是在意外情况下登陆系统的,也可以正常的登陆。

  可见,数据库的临时表在企业实际应用中有着举足轻重的作用。

  在ORACLE数据库与SQL SERVER数据库中,都实现了临时表的功能。不过两者实现的方式有差异。而不同的实现方式又赋予了其不同的特点,这是我们在数据库选型中不得不重视的一方面内容。

  两个数据库临时表实现方式的异同:

  SQL SERVER临时表跟ORACLE数据库临时表的差异,可以利用一句话来概括。SQL SERVER 临时表是在需要用到的时候创建;而ORACLE 数据库的临时表,则是在数据库初始化中就开始创建,在具体的会话或者事务开始后进行操作,结束一个会话或者结束一个事务后该数据库的内容就会被清空。


 1、在创建时的异同。
  SQL SERVER 数据库的临时表,是在实际需要时创建的。具体的来说,可以利用SELECT语句与CREAT语句创建临时表。如可以利用SELECT * INTO #USER_TEMP FROM USER;通过这条语句就可以在需要的时间创建一张临时表。除此之外,还可以利用CREATE语句,在需要的时候创建临时表。

  而ORACLE数据库,是在数据库系统初始化的过程中,就需要建立临时表。也就是在用户安装财务管理软件系统时,初始化数据库系统时,系统就会创建临时表。而不是在临时表需要用到的时候,才被创建。故,ORACLE数据库的临时表创建方式只有一种,在数据库初始化的时候,利用CREATE创建数据库临时表。所以,ORACLE数据库临时表,又有另一种说法。我们一般称ORACLE数据库的临时表是永久性的,只是临时表的内容是临时的,在需要用到临时表时,只要直接调用即可,而不用临时创建。这不像SQL SERVER数据库那样,只有在用到时,才创建该临时表;当结束会话时,不仅表中的数据被清空了,而且该表也被删除了。

  笔者评论:

  笔者还是比较喜欢ORACLE数据库临时表的实现方式。为什么呢?因为我们都知道,数据库定义语言,如CREATE等,比较占用系统资源。若在数据库SQL SERVER数据库系统设计的过程中,前台程序频繁的使用CREATE等数据库定义语言创建临时表的话,会对SQL server数据库系统的运行效率产生很大的不利影响;而且,每次运行的话,都会有类似的不利影响,因为每次运行都会有一个创建临时表的过程。而ORCLE数据库中,则是在系统初始化的时候才利用CREATE语句,所以,只是在系统初始化的时候,可能性能会受到影响,而在以后的数据库运行中,就不会为这个老是运行CREATE语句而困饶。所以,我个人还是比较喜欢采用ORACLE系统的临时表处理方案。

文章分页 [1] [2]
上一篇:Oracle初级用户必须了解的ORA-01034错误 人气:832
下一篇:oracle里long类型的总结 人气:917
浏览全部Oracle的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-9-6 Movie34电影搜索引擎 v3.0
2008-9-6 wap2.0仿帝国建站喜用 v2.0
2008-9-6 免费人才招聘网 宽屏版 v3.01
2008-9-6 喜喔喔视频采集程序 v1.0 beta
2008-9-6 ASP客户管理系统
2008-9-6 主流驿站中秋祝福程序
2008-9-6 php实现msn协议的类
2008-9-5 Coppermine Photo Gallery v1.4.
2008-9-5 清松网络日记本 v2.4
2008-9-7 MobileFotos照片分享工具1.2破解
2008-9-7 Morse-it莫尔斯电码发射器1.0破解
2008-9-7 vlc4iphone流媒体播放器0.9.9破解
2008-9-7 iLog通讯记录管理 v2.0.0破解版
2008-9-7 Snapture多功能相机 v2.0破解版
2008-9-7 MindWrap幻视1.1破解版
2008-9-7 LonelyPlanet日语手册1.1破解版
2008-9-7 MyWeather天气预报1.0.2破解版
2008-9-7 iSilo电子书阅读工具 v1.0简繁汉
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | Html转换js | js/vbs加密 | md5加密 | 进制转换
实用工具:汉字翻译拼音 | 符号对照表 | 个税计算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵