Ch4 PL/SQL数据更改和管理事务

本文介绍了PL/SQL中的隐式游标属性及使用方法,并详细阐述了数据库事务的概念及其ACID特性,包括原子性、一致性、隔离性和持久性。此外还讲解了不同类型的锁和事务隔离级别的作用。

DML 隐式游标(如下)                                  单行DQL 隐式或显式游标                              多行DQL    显式游标

隐式游标

    %FOUND   指出了当PL/SQL代码最后从游标的结果集中获取记录时,找到了记录。
  %NOTFOUND  指出了当PL/SQL代码最后从游标的结果集中获取记录时,结果集中没有记录。
  %ROWCOUNT   返回当前时刻还没有从游标中获取的记录数量。
  %ISOPEN   对于隐式游标而言,属性%ISOPEN的值总是false,这是因为隐式游标在DML语句执行时打开,结束时就立即关闭。

下右图中可以returning代替return,效果一样

 若集合类型returning a(单量) bulk collect into b(集合类型,不加下标)  再用for indx  in  b.first..b.last  得到b.(indx)的值

Ch4 PL/SQL数据更改和管理事务 - yongzhian - 暗夜逐影
批量DML——forall  下右边效率高  其隐式游标一样 但影响1到多则true
Ch4 PL/SQL数据更改和管理事务 - yongzhian - 暗夜逐影

 数据库事务

一组SQL语句组成的一个逻辑单元看作数据库事务,具有(ACID)原子性(atomicity) 、一直性(consistency)、隔离性(isolation) 、持久性(durability)。若一个事务有问题则所有回滚(rollback),所有成功则提交(commit),提交后不可回滚。

事务处理:1、开始事务DML和DQL  2、执行SQL语句  3、提交事务,DDL、DCL自动提交,commit或commit commit a;(少于50字符)

                4、回滚事务,可以savapoint a;在rollback to savapoint a;

数据库中的锁  1内部锁或闩(自动创建和释放)  2、DDL锁(使用时自动创建)  3、DML(事务开始时创建)

 锁描述 解释 SQL操作
 S(Share) 共享锁

 Create index、Lock share  如:Lock Table TableName   In Share Mode

X(Exclusive) 排它锁

 Alter table、Drop able、Drop index、Truncate table 、Lock exclusive          如:Lock Table TableName  In Exclusive Mode;

 RS(Row-S) 行级共享锁,其他对象只能查询这些数据行 Select for update、Lock for update、Lock row share                        如:LOCK TABLE TableName IN ROW SHARE MODE;
SX(Row-X) 行级排它锁,在提交前不允许做DML操作 Insert、Update、Delete、Lock row share                                       如:LOCK TABLE TableName IN ROW EXCLUSIVE MODE;
 SSX(S/Row-X) 共享行级排它锁Lock Table TableName  In Share Row Exclusive Mode;
   锁粒度 行级锁(TX)  表级锁(TM)  数据库级锁

事务隔离级别 有效保证并发读取数据的正确性

脏读(Dirty Reads)一个事务开始读取了某行数据,但是另外一个事务已经更新了此数据但没有能够及时提交。

不可重复读(Non-repeatable Reads)一个事务对同一行数据重复读取两次,但是却得到了不同的结果。

1、未授权读取 也称为读未提交(Read Uncommitted):允许脏读取,但不允许更新丢失。如果一个事务已经开始写数据,则另外一个数据则不允许同时进行写操作,但允许其他事务读此行数据。该隔离级别可以通过“排他写锁”实现。

2、授权读取 也称为读提交(Read Committed):允许不可重复读取,但不允许脏读取。这可以通过“瞬间共享读锁”和“排他写锁”实现。读取数据的事务允许其他事务继续访问该行数据,但是未提交的写事务将会禁止其他事务访问该行。oracle支持

3、可重复读取 可重复读取(Repeatable Read):禁止不可重复读取和脏读取,但是有时可能出现幻影数据。

4、序列化(Serializable)或可串行读:提供严格的事务隔离。它要求事务序列化执行,事务只能一个接着一个地执行,但不能并发执行。   oracle支持

防止死锁  1、最低事务隔离   2、保持事务尽可能短 3、事务内部按一定顺序访问数据库对象  4、等待用户输入时不要让事务持续打开

内容概要:本文提出了一种基于融合鱼鹰算法柯西变异的改进麻雀优化算法(OCSSA),用于优化变分模态分解(VMD)的参数,进而结合卷积神经网络(CNN)与双向长短期记忆网络(BiLSTM)构建OCSSA-VMD-CNN-BILSTM模型,实现对轴承故障的高【轴承故障诊断】基于融合鱼鹰柯西变异的麻雀优化算法OCSSA-VMD-CNN-BILSTM轴承诊断研究【西储大学数据】(Matlab代码实现)精度诊断。研究采用西储大学公开的轴承故障数据集进行实验验证,通过优化VMD的模态数惩罚因子,有效提升了信号分解的准确性与稳定性,随后利用CNN提取故障特征,BiLSTM捕捉时间序列的深层依赖关系,最终实现故障类型的智能识别。该方法在提升故障诊断精度与鲁棒性方面表现出优越性能。; 适合人群:具备一定信号处理、机器学习基础,从事机械故障诊断、智能运维、工业大数据分析等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①解决传统VMD参数依赖人工经验选取的问题,实现参数自适应优化;②提升复杂工况下滚动轴承早期故障的识别准确率;③为智能制造与预测性维护提供可靠的技术支持。; 阅读建议:建议读者结合Matlab代码实现过程,深入理解OCSSA优化机制、VMD信号分解流程以及CNN-BiLSTM网络架构的设计逻辑,重点关注参数优化与故障分类的联动关系,并可通过更换数据集进一步验证模型泛化能力。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值