我的编程空间,编程开发者的网络收藏夹
学习永远不晚

DB2 ORACLE 临时表创建

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

DB2 ORACLE 临时表创建

DB2 ORACLE 临时表创建

一、临时表

    临时表(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  
    )  
    DEFINITION ONLY  
    WITH REPLACE;

方法4:

DECLARE GLOBAL TEMPORARY TABLE session.emp    (  
        NAME VARCHAR(10),---姓名  
        DEPT SMALLINT,---部门  
        SALARY DEC(7,2)---工资  
    )  
   ON COMMIT PRESERVE ROWS NOT LOGGED WITH REPLACE;  

二、全局声明式临时表

ON COMMIT PRESERVE ROWS定义声明式全局临时表 定义声明式全局临时表的每个会话拥有自己的独特的临时表描述。当会话终止时,表行和临时表描述均会被删除。 有如下选项,可控制commit后临时表的状态: 
ON COMMIT DELETE ROWS:在执行 COMMIT 操作时,如果表上没有打开 WITH HOLD 游标,就删除表中的所有行。这是默认设置。 
ON COMMIT PRESERVE ROWS:在执行 COMMIT语句指定所创建的临时表是会话级临时表,当我们断开连接或手动执行DELETE或TRUNCATE之前,临时表中的数据一直存在,并且只有当前会话可以看到,其他会话看不到。
ON ROLLBACK DELETE ROWS:在执行 ROLLBACK(或 ROLLBACK to SAVEPOINT)操作时,语句指定所创建的临时表是事务级临时表,当COMMIT或ROLLBACK之前,这些数据一直存在,当事务提交之后,表中数据自动清除。这是默认设置。
ON ROLLBACK PRESERVE ROWS:在执行 ROLLBACK(或 ROLLBACK to SAVEPOINT)操作时,保留表中的所有行。
delete rows用于事务相关,也就在事务结束后truncate data in the temporary table
with replace 指在程序结束后自动删除该临时表
as 指字段从另外一个表来的意思
definition only 指创建表的时候不同时进行数据插入。关键字就是指“只定义无数据"只创建表
1.在建表语句中使用NOT LOGGED INITIALLY,只是在建表事务中不记日记,并不能关闭这张表的日志。2.如果需要不记录事务日志,需要在每个事务的开头使用 db2 alter table  dbname activate NOT LOGGED INITIALLY 然后做commit.这里的不记日志操作,仅仅在同一个事务内有效,也就是说,这个事务结束(发出了commit命令)之后,后续操作会重新记录日志3.可以使用NOT LOGGED INITIALLY 做清空表的操作。  用法:      alter  table nolog_tab activate not logged initially with empty table       commit
preserve rows表示在会话结束后清除临时表的数据
前者在事务提交后数据就已经清除了.
后者在会话中止时或者导常退出时数据都会被清除掉

 

CREATE GLOBAL TEMPORARY TABLE session.emp   (  
        NAME VARCHAR(10),---姓名  
        DEPT SMALLINT,---部门  
        SALARY DEC(7,2)---工资  
    )  
   ON COMMIT PRESERVE ROWS;  

创建索引:

DB2:

 CREATE INDEX  idxName  ON  tabName  (cols) COLLECT STATISTICS

ORACLE:

CREATE INDEX idxName  ON   tabName  (cols)

 

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

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

DB2 ORACLE 临时表创建

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

DB2 ORACLE 临时表创建

一、临时表     临时表(TEMPORARY TABLE)通常应用在需要定义临时集合的场合。但是,在大部分需要临时集合的时候,我们根本就不需要定义临时表。当我们在一条SQL语句中只使用一次临时集合时,我们可以使用嵌套表表达式来定义临时集合;当我们在一条SQL
DB2 ORACLE 临时表创建
2015-09-25

oracle临时表创建怎么写

要创建一个Oracle临时表,可以使用以下语法:CREATE GLOBAL TEMPORARY TABLE 表名(列名1 数据类型1,列名2 数据类型2,…)ON COMMIT {DELETE ROWS | PRESERVE
oracle临时表创建怎么写
2024-04-09

oracle怎么创建临时表空间

在Oracle数据库中,可以使用以下步骤创建临时表空间:首先,连接到Oracle数据库并以SYS用户身份登录。创建一个新的临时表空间,可以使用以下SQL语句:CREATE TEMPORARY TABLESPACE temp_tsTEMPF
oracle怎么创建临时表空间
2024-04-09

oracle怎么创建临时表并传参数

在Oracle中,可以通过使用GLOBAL TEMPORARY TABLE来创建临时表并传参数。以下是创建临时表并传参数的示例代码:首先,创建一个存储过程来插入数据到临时表中,并传入参数:CREATE OR REPLACE PROCEDUR
oracle怎么创建临时表并传参数
2024-04-09

oracle创建临时表的方法是什么

Oracle创建临时表的方法是使用"GLOBAL TEMPORARY TABLE"关键字来创建临时表。临时表在会话结束时会自动删除表中的数据。创建临时表的语法如下:CREATE GLOBAL TEMPORARY TABLE temp_ta
oracle创建临时表的方法是什么
2024-04-09

oracle创建临时表怎么备份数据

要备份临时表的数据,可以使用以下步骤:使用CREATE TABLE语句创建一个新的表,用来存储临时表的数据备份。例如:CREATE TABLE backup_table AS SELECT * FROM temporary_table;确保
oracle创建临时表怎么备份数据
2024-04-09

oracle临时表创建的方法是什么

在Oracle数据库中,可以通过以下步骤来创建临时表:使用CREATE GLOBAL TEMPORARY TABLE语句来创建临时表。例如:CREATE GLOBAL TEMPORARY TABLE temp_table (id NUMBE
oracle临时表创建的方法是什么
2024-04-09

ORCAL 临时表创建,删除

一.Orcal临时表分类1.会话级临时表:1).保存一个会话Session的数据。2).当会话退出时,临时表数据自动清空。表结构与元数据还存储在用户数据字典。总结:会话级临时表是指临时表中的数据只在会话生命周期之中存在,当用户退出会话结束的时候,Oracle自
ORCAL 临时表创建,删除
2018-10-01

oracle怎么创建临时表并添加内容

要在Oracle中创建临时表并添加内容,可以使用以下步骤:创建临时表:CREATE GLOBAL TEMPORARY TABLE temp_table (column1 datatype1,column2 datatype2,...) O
oracle怎么创建临时表并添加内容
2024-04-09

mysql什么时候创建临时表

MySQL中临时表在以下情况下被创建:1、当执行包含“CREATE TEMPORARY TABLE”语句时,会创建一个临时表,只在当前的数据库连接中存在,并且在连接关闭后会自动删除;2、当执行一些复杂的查询或排序操作时,MySQL可能会在内
2023-07-28

oracle创建临时表空间的方法是什么

在Oracle数据库中,可以通过以下步骤创建临时表空间:首先,登录到Oracle数据库中的sys用户或具有sysdba权限的用户。使用以下SQL语句创建一个新的临时表空间:CREATE TEMPORARY TABLESPACE temp_t
oracle创建临时表空间的方法是什么
2024-04-09

sql中临时表怎么创建

创建 sql 临时表步骤如下:使用 create temporary table 语法创建表,指定表名和列定义。添加数据并对临时表进行操作,就像操作普通表一样。会话结束后,临时表将自动删除,或使用 drop table 语法手动删除。SQL
sql中临时表怎么创建
2024-05-10

sql中如何创建临时表

在 sql 中创建临时表可使用 create temp table 语句,特点包括:会话范围、无持久性、性能优化、命名约定(## 或 # 前缀);适用于存储中间结果、复杂查询、数据分析和处理大量数据;优势包括:减少永久表数据量、提高查询性能
sql中如何创建临时表
2024-05-10
2024-04-02

编程热搜

目录