oracle: 事务,视图

事务

事务是数据库的最小逻辑单元,就是数据库中的一个最小的操作单位。
事务是由多条SQL语句组成的一个集合,有事务统一控制这些SQL语句的执行。

事务的属性

被简称为ACID属性, 是4个属性单词的首字母

脏读,幻读,不可重复读
是三种常见的并发问题,通常与事务的隔离性(Isolation)有关 

事务锁

锁是一种用于管理并发事务访问共享数据的一种机制。为了保护数据的完整性和一致性,
防止多个事务在同一时间对同一数据进行冲突操作。

并发事务:同一时间内同时执行多个事务

共享锁:主要针对select查询语句,多个事务同时对同一张表进行查询时,这个表的数据是可以共享给多张表进行查询, 在oracle中通过FOR SHARE子句来显式地获取共享锁

示例

独占锁:主要针对DML语句,多个事务同时对同一张表的同一条数据进行DML操作时,同一时间内只能有一个事务对这条数据进行DML操作,此时这条数据被该事务独占了,其它事务必须等待当前事务提交或回滚之后才能操作这条数据, 在Oracle中,独占锁通常在执行DML操作时自动获取

示例

事务的操作

示例

在这个示例中,我们首先将员工ID为1的薪水更新为5000,然后设置一个保存点 before_second_update。接着,我们将薪水再次更新为6000,但随后我们回滚到保存点 before_second_update,这意味着薪水将恢复到5000。最后,我们提交事务,确保所有更改(即薪水更新为5000)被保存到数据库中

视图

一般视图 VIEW

视图命名规则

视图命名常用v_开头

特点

创建视图示例 : 

创建一个emp表的视图, sal(薪水)和 comm(佣金)字段属于敏感字段,可能意味着这些字段在视图中被省略了,以保护敏感信息

查询视图示例

查看当前用户的所有视图

查看数据库是所有视图

查看数据库的所有视图,包括系统视图(需要DBA权限)

查看特定视图的定义

删除视图

数据安全性:删除视图并不会影响基表中的数据,只会删除视图的定义

如果视图上存在约束(如参照完整性约束),删除视图时需要使用 CASCADE CONSTRAINTS 选项,否则删除操作将失败

物化视图 MATERIALIZED VIEW

特点:
1.也称为实体化视图,是一张实表,创建物化视图会额外生成一份查询结果的数据存在物化视图中
2. 物化视图不支持DML操作,物化视图中数据的更新,会在创建物化视图的时候设置好. 比如:定时更新,手动更新
3. 使用物化视图进行查询,可以提高查询效率;查询结果中的数据已经在视图中存好了,无需从头开始执行查询,直接将存好的数据取出来;

示例: 创建物化视图

示例: 创建物化视图并设置定时更新

  • BUILD IMMEDIATE:立即构建, 表示物化视图在创建时立即填充数据。

  • REFRESH COMPLETE:刷新完成, 表示每次刷新时都会完全重新计算物化视图。

  • START WITH SYSDATE NEXT SYSDATE + 1:表示物化视图将在创建时立即刷新,并且之后每天刷新一次。

示例: 创建物化视图并设置手动更新

REFRESH COMPLETE ON DEMAND:按需刷新完成, 表示物化视图仅在手动刷新时更新

 示例:手动刷新物化视图

示例: 查看物化视图的刷新状态

示例: 修改物化视图的刷新计划

可以使用  DBMS_SCHEDULER 来设置定时任务

  1. DBMS_SCHEDULER.create_job:

    • DBMS_SCHEDULER是 Oracle 提供的一个内置包,用于创建和管理调度作业。SCHEDULER调度

 FREQ=DAILY 表示该作业每天执行一次, FREQ 代表 "Frequency",意为“频率”

使用 DBMS_JOB 设置定时任务

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity3D引擎首次用于光伏仿真设计软件爆火

在光伏设计领域,绿虫光伏仿真设计软件宛如一匹黑马,凭借其基于 Unity3D 引擎的强大功能,为行业带来了全新的解决方案。借助 Unity3D 引擎技术,实现了游戏级高清画面,2D/3D 自由转换,让场景代入感极强&#…

寒假2.6--SQL注入之布尔盲注

知识点 原理:通过发送不同的SQL查询来观察应用程序的响应,进而判断查询的真假,并逐步推断出有用的信息 适用情况:一个界面存在注入,但是没有显示位,没有SQL语句执行错误信息,通常用于在无法直接…

有用的sql链接

『SQL』常考面试题(2——窗口函数)_sql的窗口函数面试题-CSDN博客 史上最强sql计算用户次日留存率详解(通用版)及相关常用函数 -2020.06.10 - 知乎 (zhihu.com) 1280. 学生们参加各科测试的次数 - 力扣(LeetCode&…

排序算法--基数排序

核心思想是按位排序(低位到高位)。适用于定长的整数或字符串,如例如:手机号、身份证号排序。按数据的每一位从低位到高位(或相反)依次排序,每次排序使用稳定的算法(如计数排序&#…

将Deepseek接入pycharm 进行AI编程

目录 专栏导读1、进入Deepseek开放平台创建 API key 2、调用 API代码 3、成功4、补充说明多轮对话 总结 专栏导读 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手 🏳️‍🌈 博客主页:请点击——…

14:00面试,14:06就出来了,问的问题有点变态。。。

从小厂出来,没想到在另一家公司又寄了。 到这家公司开始上班,加班是每天必不可少的,看在钱给的比较多的份上,就不太计较了。没想到2月一纸通知,所有人不准加班,加班费不仅没有了,薪资还要降40%…

DeepSeek:知识图谱与大模型参数化知识融合的创新架构

引言:AI 领域的融合趋势 在目前大模型与知识图谱作为两个重要的研究方向,各自展现出了强大的能力与潜力。大模型,凭借其在海量数据上的深度训练,拥有强大的语言理解与生成能力,能够处理多种自然语言处理任务&#xff0…

69.弹窗显示复杂的数据框图 C#例子 WPF例子

这是一个复杂的功能实现,其中日志管理器的一个实例包含需要被绑定的数据源。由于主窗口被复杂的内容填满,因此需要设计一个弹窗来专门显示数据框图。以下是实现步骤: 设计主页面: 在主页面上添加一个按钮和一个数据框图&#xf…

分布式微服务系统架构第91集:系统性能指标总结

加群联系作者vx:xiaoda0423 仓库地址:https://webvueblog.github.io/JavaPlusDoc/ 系统性能指标总结 系统性能指标包括哪些? 业务指标、资源指标、中间件指标、数据库指标、前端指标、稳定性指标、批量处理指标、可扩展性指标、可靠性指标。 …

Pygame介绍与游戏开发

提供pygame功能介绍的文档:Pygame Front Page — pygame v2.6.0 documentation 基础语法和实现逻辑 与CLI不同,pygame提供了图形化使用界面GUI(graphical user interface)基于图像的界面可以创建一个有图像和颜色的窗口 要让py…

网络安全威胁框架与入侵分析模型概述

引言 “网络安全攻防的本质是人与人之间的对抗,每一次入侵背后都有一个实体(个人或组织)”。这一经典观点概括了网络攻防的深层本质。无论是APT(高级持续性威胁)攻击、零日漏洞利用,还是简单的钓鱼攻击&am…

FPGA|生成jic文件固化程序到flash

1、单击file-》convert programming files 2、flie type中选中jic文件,configuration decive里根据自己的硬件选择,单击flash loader选择右边的add device选项 3、选择自己的硬件,单击ok 4、选中sof选项,单机右侧的add file 5、选…

P3654 First Step (ファーストステップ)(贪心算法)

#include<bits/stdc.h> using namespace std;int main() {int r,c,k;cin>>r>>c>>k;char a[105][105];int ans0;for(int i0;i<r;i){for(int j0;j<c;j){cin>>a[i][j];}}for(int i0;i<r;i){int cnt0; // 用来记录连续空地的数量for(int j…

Java/Kotlin双语革命性ORM框架Jimmer(一)——介绍与简单使用

概览 Jimmer是一个Java/Kotlin双语框架 包含一个革命性的ORM 以此ORM为基础打造了一套综合性方案解决方案&#xff0c;包括 DTO语言 更全面更强大的缓存机制&#xff0c;以及高度自动化的缓存一致性 更强大客户端文档和代码生成能力&#xff0c;包括Jimmer独创的远程异常 …

ASP.NET Core中Filter与Middleware的区别

中间件是ASP.NET Core这个基础提供的功能&#xff0c;而Filter是ASP.NET Core MVC中提供的功能。ASP.NET Core MVC是由MVC中间件提供的框架&#xff0c;而Filter属于MVC中间件提供的功能。 区别 中间件可以处理所有的请求&#xff0c;而Filter只能处理对控制器的请求&#x…

ASP.NET Core对JWT的封装

目录 JWT封装 [Authorize]的注意事项 JWT封装 NuGet 库 |Microsoft.AspNetCore.Authentication.JwtBearer 9.0.1https://www.nuget.org/packages/Microsoft.AspNetCore.Authentication.JwtBearerhttps://www.nuget.org/packages/Microsoft.AspNetCore.Authentication.JwtBea…

【Uniapp-Vue3】从uniCloud中获取数据

需要先获取数据库对象&#xff1a; let db uniCloud.database(); 获取数据库中数据的方法&#xff1a; db.collection("数据表名称").get(); 所以就可以得到下面的这个模板&#xff1a; let 函数名 async () > { let res await db.collection("数据表名称…

腾讯云TI平台×DeepSeek:开启AI超强体验,解锁部署秘籍

引言 在人工智能飞速发展的今天&#xff0c;AI技术的应用场景已经渗透到我们生活的方方面面。从智能客服到自动驾驶&#xff0c;从精准医疗到金融科技&#xff0c;AI的应用正在不断推动各行业的变革与创新。作为AI领域的领军企业&#xff0c;腾讯云一直以来都在致力于为开发者…

利用 IMU 估计人体关节轴向和位置 —— 论文推导

Title: 利用 IMU 估计人体关节轴向和位置 —— “Joint axis and position estimation from inertial measurement data by exploiting kinematic constraints” —— 论文推导 文章目录 I. 论文回顾II. 铰接关节的约束1. 铰接关节约束的原理2. 铰接关节约束的梯度3. 铰接关节约…

pushgateway指标聚合问题

一 问题现象 一个job有多个实例推送指标&#xff0c;但是从pushgateway上看这个job的instance字段&#xff0c;只显示一个实例的ip&#xff0c;而不是多个实例。导致在grafana上无法正常根据ip查看监控。 应用的prometheus的配置 management:metrics:tags:application: ${spr…