`

db2临时表

db2 
阅读更多
----start

    临时表(TEMPORARY TABLE)通常应用在需要定义临时集合的场合。但是,在大部分需要临时集合的时候,我们根本就不需要定义临时表。当我们在一条SQL语句中只使用一次临时集合时,我们可以使用嵌套表表达式来定义临时集合;当我们在一条SQL语句中需要多次使用同一临时集合时,我们可以使用公共表表达式;只有当我们在一个工作单元中的多条SQL语句中使用同一临时集合时,我们才需要定义临时表。

   可以通过以下三种方式定义临时表:

方法1: 
DECLARE GLOBAL TEMPORARY TABLE SESSION.EMP 

    NAME VARCHAR(10),---姓名 
    DEPT SMALLINT,---部门 
    SALARY DEC(7,2)---工资 

ON COMMIT DELETE ROWS; 
  
方法2: 
DECLARE GLOBAL TEMPORARY TABLE session.emp 
LIKE staff INCLUDING COLUMN DEFAULTS 
WITH REPLACE 
ON COMMIT PRESERVE ROWS; 
  
方法3: 
DECLARE GLOBAL TEMPORARY TABLE session.emp AS 

    SELECT * FROM staff WHERE <condition> 

DEFINITION ONLY 
WITH REPLACE; 
    定义了临时表后,我们可以像使用普通表一样使用临时表。临时表只对定义它的用户有效,不同用户可以在同一时间定义同名的临时表,他们之间互不影响。临时表的生命周期是SESSION,当SESSION关闭时,临时表将自动删除,这也是临时表的模式名只能为SESSION的原因。此外,我们还可以给临时表定义索引。

在使用DB2的临时表时, 以下几点需要注意:

  1. DB2的临时表需要用命令Declare Temporary Table来创建, 并且需要创建在用户临时表空间上;

  

  2. DB2在数据库创建时, 缺省并不创建用户临时表空间, 如果需要使用临时表, 则需要用户在创建临时表之前创建用户临时表空间;

  3. 临时表的模式为SESSION; 
 4. 缺省情况下, 在Commit命令执行时, 临时表中的所有记录将被删除; 这可以通过创建临时表时指定不同的参数来控制;
;[/color]
  5. 运行ROLLBACK命令时, 用户临时表将被删除;

  6. 在DB2版本8中, 可以对临时表纪录日志;
分享到:
评论

相关推荐

    DB2系统临时表空间过大引发的性能问题-contracted.doc

    这是某银行 DB2 系统发生的一次真实案例,SQL 语句执行时间变长,最后发现“罪魁祸首”竟是 DB2 系统临时表空间过大。本文将介绍这个性能问题的分析处理过程,如何逐步定位问题根本原因,并提供了解决方法。这其中...

    db2表空间不足及处理.doc

    db2表空间不足及处理

    db2表空间不足及处理

    在DB2数据库,创建视图后,查询创建的视图如果报-1585则表明临时表空间不足,需要根据资源内容解决此问题。

    NC6.5 数据库参考脚本及临时表空间配置.pdf

    NC6.5 数据库参考脚本及临时表空间配置,SQLServer参考脚本 Oracle参考脚本 DB2参考脚本

    NC6.1 数据库参考脚本及临时表要求

    目录 SQL Server参考脚本 Oracle参考脚本 DB2参考脚本 数据库临时表空间要求 SQLServer参考脚本 下面脚本是用户使用SQLServer数据库时,建立数据库的演示脚本,参考使用,注意调整参数。

    DB2常用命令,命令集

    临时表空间页面大小与其他表空间页面大小的设置,临时表空间与缓冲池的设置。 example:db2icrt db2 -s ese -p d:\db2 -u Administrator 注意:在UNIX 上产生实例时需要产生一个和实例名称相同的用户名,和fencedid...

    db2编程技巧

    db2 存储过程 游标结果集 sp管理 查询优化 临时表

    DB2存储过程精简教程

    学习DB2存过的童鞋不妨看看,里面讲到了动态游标、session临时表以及存储过程基本的语法。

    DB2 OLTP系统的物理设计最佳实践(中文版)

    临时表 26 表存储和性能 26 最佳实践 27 索引 29 索引类型 29 OL TP 工作负载的索引指南 29 范围分区表的索引 31 集群索引 31 包含 XML 数据的表的索引 32 调整索引设计 32 最佳实践 33 数据库事务日志 35 配置事务...

    linux db2 自动备份(包括归档处理)

    -logdir 数据库日志归档的目录(临时存放日志文件夹) -bklog 数据库日志存放及处理的文件夹 -setdb 数据库的名字 一般推荐使用如下命令: ./set.sh -dbdir /home/databackup -logdir /mylogs -bklog /home/...

    db2数据库入门教程(官方中文版)

    第 1章 – DB2 Express-C是什么?..........................................................................................13 1.1免费开发、部署和分发… 无限制!.............................................

    数据库优化让数据库飞起来 十大DB2优化技巧

    让数据库飞起来 十大DB2优化技巧 临时表空间最大打开的文件数代理程序监视开关

    DB2存储过程开发最佳实践

    对输入参数进行必要的的检查和预处理最佳实践3:正确设定游标的返回类型最佳实践4:异常(condition)处理最佳实践5:合理使用临时表最佳实践6:寻找并rebind非法的存储过程结束语参考资料本文以DB2开发人员的角度...

    db2数据库入门官方教程(中文版)

    第 1章 – DB2 Express-C是什么?..........................................................................................13 1.1免费开发、部署和分发… 无限制!.............................................

    db2存储过程开.pdf

    本文以 DB2 开发人员的角度介绍了在 DB2 存储过程开发中需要注意的事项和技巧。...化参数、游标、异常处理、临时表的使用以及如何寻找并 rebind 非法存储过程等常见问题进行了着重讨 论,并且给出了示例代码。

    DB2 内部培训(V1.0)

    2.8 临时表.......................................................................................................................4 3 修改db2配置参数......................................................

    DB2开发基础知识-存储过程开发

    一、数据类型 二、使用存储过程优点 三、存储过程结构 四、参数定义 五、变量定义 六、赋值语句 七、条件控制语句 ...十二、SESSION临时表 十三、常用函数 十四、数据一致性和完整性 十五、事物隔离级别

    创建数据库脚本

    创建临时表空间、创建sas_test_data表空间、创建用户、用户赋权、赋权给sas_test_data(DBA角色所有权限和DB2指定所有权限)

    调优SQL过程

    火龙果软件工程技术中心 本文内容包括:动机普通SQL过程使用临时表条件处理程序调优存在谓词CALL回避PVM中的SQLPL调优结束语致谢下载参考资料您想学习调优SQLPL的一些技巧吗?如果是这样的话,本文将描述一些调优IBM...

Global site tag (gtag.js) - Google Analytics