<%@ page contentType="text/html; charset=gb2312"%> oracle中的临时表用法汇总
网站公告:   ◆北天JAVA技术网热情为java爱好者服务,本网内容包括JAVA(JSP、servlet、EJB、webservice、j2ee、javabean、应用服务器、JavaScript),数据库(MYSQL、SQL Server、Sybase、Oracle、DB2、数据库综合知识),设计研究(设计模式、Struts、Spring、Hibernate、设计框架、设计综合知识),WEB2.0新技术(主要介绍AJAX),以及各种技术的入门、实例、例子等等,欢迎各位多来坐坐!◆  诚邀各位JAVA爱好者加盟!◆  本网站内容丰富,更新快,保证每周20篇以上!  
加入收藏
设为首页
联系站长
承接项目
  相关资源:网站首页 | 免费培训学院 | 技术论坛 | JAVA聊天室 | 作家专栏 | 开发工具 | 认证考试 | 会员俱乐部
  JAVA技术初学者园地 | jsp与servlet | javascript | Java源代码 | EJB | web service | 应用服务器 | JAVA综合知识
  设计研究设计模式 | 设计框架 | Struts | Spring | Hibernate | 开源项目 | 面向对象设计 | 设计综合知识
  数 据 库MYSQL | SQL Server | Sybase | Oracle | DB2 | Informix | Access | 数据库综合知识
  其他资源:AJAX新技术 | 网站开发 | ERP软件 | OA办公软件 | 商业智能BI | 开发综合知识 | 承接项目 | 项目试用

 
 
oracle中的临时表用法汇总
     发布者: 发布时间:2007-01-24

  说明:下文中的一些说明和示例代码摘自csdn,恕不一一指明出处,在此一并对相关作者表示感谢!

  1 语法

  在oracle中,可以创建以下两种临时表:

  1) 会话特有的临时表

  create global temporary ( )

  on commit preserve rows;

  2) 事务特有的临时表

  create global temporary ( )

  on commit delete rows;

  create global temporary table mytemptable

  所建的临时表虽然是存在的,但是如果insert 一条记录然后用别的连接登上去select,记录是空的。  

  --on commit delete rows 说明临时表是事务指定,每次提交后oracle将截断表(删除全部行)

  --on commit preserve rows 说明临时表是会话指定,当中断会话时oracle将截断表。  

  2 动态创建

  create or replace procedure pro_temp(v_col1 varchar2,v_col2 varchar2) as

  v_num number;

  begin

  select count(*) into v_num from user_tables where table_name=''t_temp'';  

  --create temporary table

  if v_num<1 then

  execute immediate ''create global temporary table t_temp (

  col1 varchar2(10),

  col2 varchar2(10)

  ) on commit delete rows'';

  end if;  

  --insert data

  execute immediate ''insert into t_temp values(''''''  v_col1  '''''',''''''  v_col2  '''''')'';  

  execute immediate ''select col1 from t_temp'' into v_num;

  dbms_output.put_line(v_num);

  execute immediate ''delete from t_temp'';

  commit;

  execute immediate ''drop table t_temp'';

  end pro_temp;  

  测试:  

  15:23:54 sql> set serveroutput on

  15:24:01 sql> exec pro_temp(''11'',''22'');

  11  

  pl/sql 过程已成功完成。  

  已用时间: 00: 00: 00.79

  15:24:08 sql> desc t_temp;

  error:

  ora-04043: 对象 t_temp 不存在  

  3 特性和性能(与普通表和视图的比较)

   临时表只在当前连接内有效

  临时表不建立索引,所以如果数据量比较大或进行多次查询时,不推荐使用

  数据处理比较复杂的时候时表快,反之视图快点

  在仅仅查询数据的时候建议用游标: open cursor for ''sql clause'';

 
 
(转载文章请保留出处:北天JAVA技术网(www.java114.com))
 
更多精彩文章:
pl/sql工具连接oralce数据库的方法
oracle数据库几种关闭方式
oracle数据库几种启动方式
oracle并行服务器(ops)十二问(1)
oracle并行服务器(ops)十二问(2)
oracledatabase10g:改善的表空间管理
 
最近评论:
        
冰封的往事!
wow power leveling,wow gold,wow power leveling,wow gold max(4159)
        
冰封的往事!
wow power leveling,wow gold,WoW Gold,wow gold max(2268)
        
冰封的往事!
wow power leveling,wow gold,WoW Gold,wow gold max(350)
        
冰封的往事!
wow power leveling,wow gold,WoW Gold,wow gold max(6698)
        
冰封的往事!
wow power leveling,wow gold,WoW Gold,wow gold max(134)
        
冰封的往事!
wow power leveling,wow gold,WoW Gold,wow gold max(8560)
        
飞舞的传奇!
传世私服,传世私服.传奇世界私服传奇世界私服,传世私服传世私服, 传奇世界私服传奇世界私服.传奇私服传奇私服. max(8015)
        
回复:oracle中的临时表用法汇总
If you are interested in other service, exp: wow powerleveling, world of warcraft powerleveling ,or find an extremely way to buy wow gold,I recommend our website because this site provides all kings of world of warcraft powerleveling,especially the wow power leveling.world of warcraft power leveling.TOP1 24/7 silkroad gold Shop.
        
标 题:   
内 容:   
 
                                  
 
免责声明:该文章由网友发表,如果对您造成侵权,请联系站长

首页 - 承接项目 - 网站地图 - 联系我们 -
版权所有北天JAVA技术工作室 ICP证号:粤ICP备06079815号