易截截图软件、单文件、免安装、纯绿色、仅160KB

在oracle中临时表的种类

     临时表的概念:
在Oracle数据库中还有一种类型的表,叫做临时表。这个临时表跟永久表最大的区别就是表中的数据不会永远的存在。当一个会话结束或者事务结束的时候,这个临时表中的数据,不用用户自己删除,数据库自己会自动清除。(表是全局,只是数据消失)
      Oracle数据库根据临时表的性质不同,可以分为事务临时表与会话临时表。事务临时表是指数据只有在当前事务内有效。一般情况下,如果在创建数据表的时候,没有特殊指明这表是会话临时表的话,则该表默认为事务临时表。
      事务临时表:
      Create global temporary table Temp_user
  (ID NUMBER(12) Primary key,name varchar2(10)) ON COMMIT DELETE ROWS
;
     会话临时表:
      CREATE GLOBAL TEMPOPARY TABLE TEMP_USER
  (ID NUMBER(12) Primary key,name varchar2(10))
  ON COMMIT PRESERVE ROWS
;
      也就是说,会话临时表跟事务临时表的创建语法大致相同,只有最后的关键字有区别
。不过两个表虽然类似,但是其内部的处理机制还是有比较大的区别。
      区别:事务临时表,在提交事务后,表中的数据就消失了,但是会话临时表不会!~
               会话临时表,提交事务后,依旧能查询,但是关闭数据后,重新连接时,表中的数据才会消失!~
       从以上的分析我们可以看中,会话临时表与事务临时表主要的差异就在于删除数据时机的不同。事务性临时表是在事务提交的时候清除数据,而会话性临时表则是在关闭当前会话的时候清除临时表。只要当前会话没有关闭,即使事务完成了,会话临时表中的数据仍然存在,不会被清除。


相关文档:

Java开发Oracle数据库的ORA 01000错误解析

很多朋友在Java开发中,使用Oracle数据库的时候,经常会碰到有ORA-01000: maximum open cursors exceeded.的错误。
实际上,这个错误的原因,主要还是代码问题引起的。
ora-01000: maximum open cursors exceeded.
表示已经达到一个进程打开的最大游标数。
这样的错误很容易出现在Java代码中的主要原因是:Java代码在执 ......

Oracle 冷拷备实例挂到新ORACLE时应注意问题。

冷拷备了一个原有数据库,要把他移植到新的数据库中时,要注意一下:
1.Oradim -new -sid [实例名:demo] -intpwd [PWD]  -pfile= [要创建实例的配置文件:*.ora]
2.set Oracle_SID=[实例名](装完后记得要在注册表里加上:HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb10g_home1:ORACLE_SID,值为实例名。)
3.sql ......

oracle中执行存储过程

创建了一oracle的定时任务,定时的将一个表中的记录插入到另一个表中,查询的时候表中竟然没数据,在pl/sql中查看建的任务发现failures的值为3,难道建的存储过程有错?运行一下存储过程试试吧,查数据库书,执行存储过程命令是:call procedure 过程名;
执行一下命令,不对?再从网上查吧,一查,oracle中执行存储过程的 ......

oracle id 自增

oracle让id自动增长(insert时不用手动插入id)的办法,像Mysql中的auto_increment那样
创建序列  
  create   sequence   emp_seq  
  increment   by   1  
  start   with   1  
  nomaxvalue  
  nocycle  
  ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号