聊聊更新表时的隐式提交

2024-02-01 12:36

本文主要是介绍聊聊更新表时的隐式提交,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、显式提交和隐式提交

显式提交是指在程序中使用明确的提交操作来提交数据到数据库。这可以通过使用语句COMMIT或COMMIT WORK来实现。显式提交是一种手动提交数据的方式,它将当前的数据库事务立即提交,使之成为永久性的更改。在显式提交之后,数据将立即被其他事务所见。

与显式提交相对的是隐式提交。在隐式提交中,数据的提交由系统自动处理,而无需明确的提交操作。本文档将通过一个简单的数据库更新操作,介绍各种场景的隐式提交。

"--------------------@斌将军--------------------
DATA:ls_091 TYPE ztsd0091.ls_091-werks = '1001'.MODIFY ztsd0091 FROM ls_091.IF sy-subrc EQ 0.ENDIF.
"--------------------@斌将军--------------------

2、隐式提交场景

2.1、程序正常终止

如果程序没有报错正常执行完毕,系统将自动提交未提交的数据

如图所示,当程序被断点拦截,MODIFY并未将数据更新到自建表中

当执行完毕,数据更新到自建表

2.2、WAIT关键字

当遇到WAIT UP TO 1 SECONDS或WAIT UNTIL 这种操作,将执行提交

等待结束后,数据更新到自建表

2.3、MESSAGE

当弹出E、I、W类型消息时,将执行提交

弹出消息,数据更新成功

2.4、异步或远程调用RFC

2.4.1、STARTING NEW TASK 调用RFC

执行完毕,数据更新成功

2.4.2、远程调用RFC

调用结束,数据更新成功

2.4.3、同步调用RFC(不触发)

直接调用函数,不会触发提交

调用结束,数据并没有更新

2.4.4、IN BACKGROUND TASK调用RFC(不触发)

事务性异步调用,不会触发

调用结束,数据并没有更新

2.5、SUBMIT

当调用其他程序时

调用完毕,数据更新成功

2.6、CALL SCREEN

跳转到其他屏幕时

调用9000屏幕后,数据更新成功

2.7、数据库操作(不提交)

当更新1009数据到自建表,接着执行SELECT语句

SELECT能查询到更新的1009

但是数据并没有更新到数据库表中

以上就是对隐式提交的举例说明,希望对您有所帮助

定期更文,欢迎关注

这篇关于聊聊更新表时的隐式提交的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/667299

相关文章

IDEA实现回退提交的git代码(四种常见场景)

《IDEA实现回退提交的git代码(四种常见场景)》:本文主要介绍IDEA实现回退提交的git代码(四种常见场景),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.已提交commit,还未push到远端(Undo Commit)2.已提交commit并push到

Oracle 通过 ROWID 批量更新表的方法

《Oracle通过ROWID批量更新表的方法》在Oracle数据库中,使用ROWID进行批量更新是一种高效的更新方法,因为它直接定位到物理行位置,避免了通过索引查找的开销,下面给大家介绍Orac... 目录oracle 通过 ROWID 批量更新表ROWID 基本概念性能优化建议性能UoTrFPH优化建议注

MySQL中的两阶段提交详解(2PC)

《MySQL中的两阶段提交详解(2PC)》:本文主要介绍MySQL中的两阶段提交(2PC),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录引言两阶段提交过程sync_binlog配置innodb_flush_log_at_trx_commit配置总结引言在Inn

Redis中6种缓存更新策略详解

《Redis中6种缓存更新策略详解》Redis作为一款高性能的内存数据库,已经成为缓存层的首选解决方案,然而,使用缓存时最大的挑战在于保证缓存数据与底层数据源的一致性,本文将介绍Redis中6种缓存更... 目录引言策略一:Cache-Aside(旁路缓存)策略工作原理代码示例优缺点分析适用场景策略二:Re

Pandas利用主表更新子表指定列小技巧

《Pandas利用主表更新子表指定列小技巧》本文主要介绍了Pandas利用主表更新子表指定列小技巧,通过创建主表和子表的DataFrame对象,并使用映射字典进行数据关联和更新,实现了从主表到子表的同... 目录一、前言二、基本案例1. 创建主表数据2. 创建映射字典3. 创建子表数据4. 更新子表的 zb

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my

MySQL更新某个字段拼接固定字符串的实现

《MySQL更新某个字段拼接固定字符串的实现》在MySQL中,我们经常需要对数据库中的某个字段进行更新操作,本文就来介绍一下MySQL更新某个字段拼接固定字符串的实现,感兴趣的可以了解一下... 目录1. 查看字段当前值2. 更新字段拼接固定字符串3. 验证更新结果mysql更新某个字段拼接固定字符串 -

MySQL新增字段后Java实体未更新的潜在问题与解决方案

《MySQL新增字段后Java实体未更新的潜在问题与解决方案》在Java+MySQL的开发中,我们通常使用ORM框架来映射数据库表与Java对象,但有时候,数据库表结构变更(如新增字段)后,开发人员可... 目录引言1. 问题背景:数据库与 Java 实体不同步1.1 常见场景1.2 示例代码2. 不同操作

一文详解SQL Server如何跟踪自动统计信息更新

《一文详解SQLServer如何跟踪自动统计信息更新》SQLServer数据库中,我们都清楚统计信息对于优化器来说非常重要,所以本文就来和大家简单聊一聊SQLServer如何跟踪自动统计信息更新吧... SQL Server数据库中,我们都清楚统计信息对于优化器来说非常重要。一般情况下,我们会开启"自动更新

MySQL的隐式锁(Implicit Lock)原理实现

《MySQL的隐式锁(ImplicitLock)原理实现》MySQL的InnoDB存储引擎中隐式锁是一种自动管理的锁,用于保证事务在行级别操作时的数据一致性和安全性,本文主要介绍了MySQL的隐式锁... 目录1. 背景:什么是隐式锁?2. 隐式锁的工作原理3. 隐式锁的类型4. 隐式锁的实现与源代码分析4