zoukankan      html  css  js  c++  java
  • DB2 临时表

    DB2 临时表

    临时表(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; 
    方法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的原因。此外,我们还可以给临时表定义索引,收集统计信息runstats

  • 相关阅读:
    linux 上安裝lnmp
    html 禁用点击事件
    nftables 是什么? 提供什么功能? 如何使用?
    ESXi主机RAID卡_HBA卡_网卡 型号_固件_驱动查询
    Celery Beat定时任务
    Centos 7/8 安装Rabbit-MQ
    Celery 最佳实践
    Django 3.0 + Celery 4.4 + RabbitMQ
    C语言Socket示例
    深入理解计算机系统 — 读书笔记
  • 原文地址:https://www.cnblogs.com/jackhub/p/3147196.html
Copyright © 2011-2022 走看看