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

posted @   胡.杰  阅读(6415)  评论(1编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示