创建一个事务级临时表或者会话级临时表继续测试,在什么情况下临时表里的数据会消失

news2024/9/28 7:48:45

目录

一、测试事务级临时表

1、创建事务级临时表

2、插入测试数据

3、查看表中的数据

4、提交事务

5、再次查看表中数据

二、测试会话级临时表

1、创建会话级临时表

2、插入测试数据

3、查看表中的数据

4、提交事务再次查看数据

5、关闭当前会话

6、再次进入数据库创建会话

7、再次查看表中数据


 

题目要求的是测试一个,但是在这里我们两个都进行测试

结论说明:

  1. 事务级临时表:

    数据会在每个事务提交时被删除。如果你执行了COMMIT命令,那么表中的数据就会被清除。这意味着在一个事务中插入的数据在另一个事务提交后将不再可见。
  2. 会话级临时表:

    数据会在会话结束时被删除。当用户会话结束(例如,用户退出或断开连接),表中的数据将会被清除。如果你希望在会话结束时保留表结构而不是删除它,可以使用 ON COMMIT PRESERVE ROWS 选项。

一、测试事务级临时表

1、创建事务级临时表

CREATE GLOBAL TEMPORARY TABLE transaction_temp_table (
  id NUMBER,
  name VARCHAR2(50)
) ON COMMIT DELETE ROWS;

2、插入测试数据

insert into transaction_temp_table values(1,'test1');
insert into transaction_temp_table values(2,'test2');
insert into transaction_temp_table values(3,'test3');

3、查看表中的数据

select * from transaction_temp_table;

可以看到此时的表中数据还在

4、提交事务

commit;

5、再次查看表中数据

select * from transaction_temp_table;

可以看到表中已经没有数据了,这就是事务级临时表,数据会在每个事务提交时被删除。

二、测试会话级临时表

1、创建会话级临时表

CREATE GLOBAL TEMPORARY TABLE session_temp_table (
  id NUMBER,
  name VARCHAR2(50)
) ON COMMIT PRESERVE ROWS;

2、插入测试数据

insert into session_temp_table values(1,'test1');
insert into session_temp_table values(2,'test2');
insert into session_temp_table values(3,'test3');

3、查看表中的数据

select * from session_temp_table; 

4、提交事务再次查看数据

提交事务

commit;

再次查看表中数据

select * from session_temp_table; 

可以看到数据没有清除(这里和事务级临时表有区别)

5、关闭当前会话

quit()

6、再次进入数据库创建会话

sqlplus / as sysdba

7、再次查看表中数据

select * from session_temp_table; 

可以看到表中数据已经消失 ,这就是会话级临时表,数据会在会话结束时被删除。

三、区别总结

1. 创建语法:

        事务级临时表: 

CREATE GLOBAL TEMPORARY TABLE transaction_temp_table (
    id NUMBER,
    name VARCHAR2(50)
) ON COMMIT DELETE ROWS;

     `ON COMMIT DELETE ROWS` 指定了当事务提交时,表中的数据将被删除。

   会话级临时表:

CREATE GLOBAL TEMPORARY TABLE session_temp_table (
    id NUMBER,
    name VARCHAR2(50)
) ON COMMIT PRESERVE ROWS;

 `ON COMMIT PRESERVE ROWS` 指定了当事务提交时,表中的数据将被保留,但在会话结束时会自动被删除。

2. 数据保留:

   事务级临时表:
           数据在每个事务提交时被删除。在一个事务中插入的数据在另一个事务提交后将不再可见。

   会话级临时表:
        数据在会话结束时被删除。当用户会话结束(例如,用户退出或断开连接),表中的数据将会被清除。

3. 生命周期:

   事务级临时表:

        表的生命周期限定在事务内。当事务提交或回滚时,表中的数据都会被清除。

 会话级临时表:
        表的生命周期限定在用户会话内。当用户会话结束时,表中的数据会被清除。

OK结束。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1194466.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android发热监控实践

一、背景 相信移动端高度普及的现在,大家或多或少都会存在电量焦虑,拥有过手机发热发烫的糟糕体验。而发热问题是一个长时间、多场景的指标存在,且涉及到端侧应用层、手机 ROM 厂商系统、外界环境等多方面的影响。如何有效衡量发热场景、定位…

【GUI软件开发】小红书评论采集:自动采集1w多条,含二级评论!

文章目录 一、爬取目标1.1 效果截图1.2 演示视频1.3 软件说明 二、代码讲解2.1 爬虫采集模块2.2 软件界面模块2.3 日志模块 三、附完整源码及软件 一、爬取目标 您好!我是马哥python说 ,一名10年程序猿。 我用python开发了一个爬虫采集软件&#xff0c…

8年经验之谈 —— 性能压测工具选型对比!

本文致力于给出性能压测的概念与背景介绍,同时针对市场上的一些性能压测工具,给出相应的对比,从而帮助大家更好地针对自身需求实现性能压测。 为什么要做性能压测 在介绍性能压测概念与背景之前,首先解释下为什么要做性能压测。…

基于人群行为分析技术的AI智能公园管理系统

一、系统概括 智能公园视频监控管理系统旨在利用人群行为分析技术,结合先进的物联网、人工智能和大数据分析等技术手段,实现对公园内人流量、行为活动和安全问题的实时监测与管理。旭帆科技智能公园视频监控管理系统将通过智能视频监控、感知设备和数据…

thinkphp6 起步

1、安装 composer create-project topthink/think6.0 tp62、使用多应用模式,你需要安装多应用模式扩展think-multi-app composer require topthink/think-multi-app3、config/app.php中,将 ‘auto_multi_app’ > flase, 改为true; 需要自…

远程运维的定义以及优点详细讲解-行云管家

对于IT运维小伙伴而言,远程运维是最平常不过的一件事情了。比如下班了需要工作,可以远程运维就好了;比如帮助用户远程安装远程运维软件等等。今天我们就一起来简单聊聊远程运维的定义以及优点,顺便看看市面上哪款远程运维软件好用…

AUTOSAR CAN Busoff处理

Busoff产生机制 CAN通信Busoff即总线关闭态,一个CAN节点有三种状态,主动错误状态、被动错误状态以及总线关闭态。如下图可知进入Busoff的原因是因为发错错误大于255,在此状态节点不能收发报文。 单节点特殊情况 根据CAN规范,单节点发送报文NO ACK的错误也会使发送节点的T…

绕过防盗链的几种方式

需要进行防盗链的绕过,我们必须先要了解Iframe、Referer和XMLHttpRequest对象的基本知识 目录 Iframe 基本用法 sandbox 属性 loading 属性 Referer Referrer-policy 设置referrer的两种方法 下面举三个将referrer设置为no-referrer的例子: 首先…

js运算,笔试踩坑知识点

文章目录 前端面试系列运算符记住口诀先计算 后 赋值赋值从右向左 和 - -计算从左向右括号里的加减优先于括号外的乘除交换俩数的值答案 前端面试系列 js运算 笔试踩坑知识点 前端js面试题 (三) 前端js面试题(二) 前端js面试题 (…

【数据在内存中的存储】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 1. 整数在内存中的存储 2. 大小端字节序和字节序判断 2.1 什么是大小端? 2.2 为什么有大小端? 2.3 练习 2.3.1 练习1 2.3.2 练习2 2.3.3 练习3 2.3.4 …

uniapp发行web页面在老版本浏览器打开一片空白

uniapp发行的web页面(菜单->发行->网站-PC Web或手机H5),对于一些老的浏览器(或内核),打开一片空白; 而在新版本的浏览器中打开却正常。这是因为那些版本较低的浏览器不支持ES6的语法和新…

【Windows Docker:安装nginx】

拉镜像 docker pull nginx运行初始镜像 docker run -d -p 80:80 --name nginx nginx拷贝文件 docker cp nginx:/etc/nginx/nginx.conf D:/dockerFile/nginx/nginx.conf docker cp nginx:/etc/nginx/conf.d D:/dockerFile/nginx/conf.d docker cp nginx:/usr/share/nginx/htm…

JAVA基础5:分支语句

1.流程控制 1)流程控制语句分类 顺序结构分支结构(if,switch)循环结构(for,while,do...while) 2.顺序结构 顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行&a…

WebGL-Vue3-TS-Threejs:基础练习 / Javascript 3D library / demo

一、理解Three.js Three.js是一个用于WebGL渲染的JavaScript库。它提供了一组工具和类,用于创建和渲染3D图形和动画。简单理解(并不十分准确),Three.js之于WebGL,好比,jQuery.js之于JavaScript。 OpenGL …

Gated Context Aggregation Network for Image Dehazing and Deraining(GCANet)

1 总体概述 GCANet是端到端去雾的一篇代表性的文章,它摒弃以往使用手工设计的先验以及大气散射模型的使用,直接通过原始有雾图像估计出无雾图像J与有雾图像I之间的残差,图像恢复阶段直接使用网络输出的残差与输入有雾图像I之间的加和完成去雾…

跨境电商商城源码,支持多语言,开启全球贸易新篇章!

随着全球化的不断深入,跨境电商已经成为越来越多企业的选择。我们为您提供的跨境电商源码产品,具有强大的多语言支持功能,可轻松扩展至多个语言,助您迅速占领全球市场,实现业务的国际化发展。 一、多语言支持&#xff…

uniapp蓝牙搜索设备并列表展示

1.需求:3.0的桩可以值扫码通过蓝牙名字直接绑定,2.0的桩二维码无蓝牙名称则需通过蓝牙列表来绑定 2.碰到问题 1.0 蓝牙列表需要去重(蓝牙列表通过deviceId去重再放进展示列表) 2.0页面会卡顿(调用my.stopBluetoothDevi…

(附源码)基于spring boot 房屋租赁系统小程序-计算机毕设 88306

spring boot 房屋租赁系统小程序 目 录 摘要 1 绪论 1.1选题意义 1.2开发现状 1.3springboot框架介绍 1.4论文结构与章节安排 2 房屋租赁系统小程序系统分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 法律可行性分析 2.2 系统功能分析 2.…

【Spring】AOP实现原理

注册AOP代理创建器 在平时开发过程中,如果想开启AOP,一般会使用EnableAspectJAutoProxy注解,这样在启动时,它会向Spring容器注册一个代理创建器用于创建代理对象,AOP使用的是AnnotationAwareAspectJAutoProxyCreator&…

MES系统数据集成系统源码

MES系统数据集成系统源码 1 MES的生产计划管理综述 生产计划的管理在MES系统中是非常重要的。我们知道,一般的情况下,企业的生产计划是由上层管理系统ERP来完成,那么MES中的生产计划和ERP的生产计划的不同点在于: ERP的生产计划…