首页 > 其他分享 >隐式提交的引申之DB/SAP LUW

隐式提交的引申之DB/SAP LUW

时间:2024-03-13 19:33:59浏览次数:23  
标签:LUW 数据库 DB 提交 SAP 隐式

1、写在前面

之前发表过《聊聊更新表时的隐式提交》一文,向大家介绍隐式提交,对于数据库操作的作用。

有粉丝看过后,提出了自己的疑问:

首先解释一下,该粉丝大致的问题和代码含义为:

在创建销售订单增强中,当因为错误需要拦截单据创建时,需要用commit work记录日志数据到自建表。而由于使用了commit work,导致更新自建表的同时,将生成单据的事务也提交,导致拦截失败,单据一同被创建出来。

最终采用了在增强中调用CALL...STARTING NEW TASK 方式,将更新自建表以及commit work放在函数中,这样自建表更新成功,单据也没有受到CALL...STARTING NEW TASK 中commit work的影响,成功被拦截了。

所以对CALL...STARTING NEW TASK执行后,对主程序进行隐式提交有疑问,隐式提交就不会将单据创建出来吗?

正好借此机会,解释这位粉丝疑问的同时,向大家介绍DB LUW和SAP LUW。

2、DB LUW

2.1、什么是DB LUW?

DB LUW(Database Logical Unit of Work):又称数据库逻辑单元。为了保证一系列数据库操作,要么同时成功提交,要么同时失败回滚,就引入了DB LUW,DB LUW 是数据库管理系统(DBMS)层面上的一个概念。

如下图:

数据库从左侧开始(代表一个DB LUW开始),经过INSERT、UPDATE、DELETE多次操作,如果其中任何一项操作出现问题,则对DB LUW开始以来的所有操作进行回滚,使数据库回滚到最左侧(最左侧,代表初始数据)。如果没有错误,执行到commit,则将这一个DB LUW中的一系列操作更新到数据库(最右侧,代表最终数据),以此来保证数据库数据的一致性。

代码举例

2.2、DB LUW的提交和回滚

2.3、DB LUW的生命周期

3、SAP LUW

3.1、什么是SAP LUW?

3.2、实现SAP LUW

3.2.1、使用更新功能模块进行捆绑

3.2.2、使用子例程捆绑

3.2.3、两者的区别

3.3、代码验证DB 和 SAP LUW区别

3.3.1、单纯DB LUW实现

3.3.2、SAP LUW实现

4、结语

博客频遭盗窃,请移步公众号“斌将军”,输入关键字“事务”查看

 

TRANSLATE with x English
Arabic Hebrew Polish
Bulgarian Hindi Portuguese
Catalan Hmong Daw Romanian
Chinese Simplified Hungarian Russian
Chinese Traditional Indonesian Slovak
Czech Italian Slovenian
Danish Japanese Spanish
Dutch Klingon Swedish
English Korean Thai
Estonian Latvian Turkish
Finnish Lithuanian Ukrainian
French Malay Urdu
German Maltese Vietnamese
Greek Norwegian Welsh
Haitian Creole Persian  
  TRANSLATE with COPY THE URL BELOW Back EMBED THE SNIPPET BELOW IN YOUR SITE Enable collaborative features and customize widget: Bing Webmaster Portal Back

标签:LUW,数据库,DB,提交,SAP,隐式
From: https://www.cnblogs.com/BinGeneral/p/18071368

相关文章

  • windbg 调试 c++ std::exception
    由于c++std::exception在windbg里面调用堆栈显示不正确,可以通过加载了系统pdb和软件pdb后,!analyze-v可以分析出来,所有需要配置系统pdb。1、把exe,pdb放到同一个目录下。2、加载dmp文件(拖动dmp文件到windbg)。3、设置pdb路径:File->SymbolFilePath,比如D:\Desktop\3dLayer,记得加......
  • 影响SAP项目计划的因素
    我们在刚开始着手做项目计划的时候,可能会有点手足无措,不知道从哪里下手。大部分时候会拷贝一份之前的项目计划来用,但是不知道之前的计划是不是适合本项目。那么在做SAP项目计划的时候,到底哪些因素会影响计划?今天就给大家来揭秘。其实项目计划的主要影响因素无非就是两类,一类叫......
  • SAP项目中有哪些文档
    文档是SAP项目中的重要交付物,根据项目大小、项目方法论的不同,项目中使用的文档也会不同。文档也有不同的形式,有传统的word、excel,也有使用AzureDevOps等工具来实现的文档。我们可以根据实际需要来选择合适的文档来支持SAP项目的运行。项目计划(ProjectPlan)内容:涵盖整个项......
  • 无缝集成 MongoDB Relational Migrator,Tapdata 提供关系型到 MongoDB 实时迁移优化方
    在去年的MongoDB用户大会纽约站上,MongoDB正式宣布全面推出新工具MongoDBRelationalMigrator(MongoDBRM),用以简化应用程序迁移和转换——即从传统关系型数据模型到现代的文档数据模型,助力组织快速提升运营效率,充分发挥数据价值。今年年初,同样密切关注数据价值深层挖掘......
  • librosa与torch/torchaudio的stft、spectrogram、mel、power-to-db的对应关系
    注意,以下代码仍受到数值精度(numericalaccuracy)的影响。importsoundfileassfimportnumpyasnpimporttorchaudioimporttorchimportlibrosaif__name__=='__main__':np_data,sr=sf.read('./test.wav')ts_data=torch.from_numpy(np_data).float()......
  • 韩国链游Redbrick名牌零撸教程
    简介:Redbrick是一个基于UGC的元宇宙平台,类似蛋仔派对的游戏,可玩性挺高的,融资1370万美金,是韩国本土项目,韩国项目还是需要注意一下的,上一个超级大毛ZTX也是韩国项目,还有一点就是这个项目非常非常非常冷门,0撸可冲相关概念:GameFi、元宇宙融资信息:融资1370万美元,见下图Airdrop计......
  • AnalyticDB 创建db
    CREATETABLE`view_records`(`saas_id`varcharNOTNULLCOMMENT'用户id',`parent_id`intCOMMENT'id',`title`varcharNOTNULLCOMMENT'标题',`sub_id`intCOMMENT'id',`num`intCOMMENT'集数',......
  • MongoDB学习总结
    一、数据库基础命令1、关于database的基础命令查看所有的数据库:showdbs/showdatabases切换数据库:usedb_name查看当前的数据库:db删除当前的数据库:db.dropDatabase()2、关于集合的基础命令不手动创建集合:向不存在的集合中第一次加入数据时,集合会被创建出来手动创建集合......
  • 十分钟掌握分布式数据库开发:OpenMLDB 开发者镜像详解
    OpenMLDB是一款国产的、开源的、面向时序数据的分布式内存数据库系统,它专注于高性能、高可靠性和易扩展性,适用于海量时序数据的处理以及在线特征的实时计算。在大数据和机器学习的浪潮中,OpenMLDB以其强大的数据处理能力和高效的机器学习支持,在开源数据库领域崭露头角。OpenMLDB......
  • 编译GreatSQL with RocksDB引擎
    GreatSQL里也能用上RocksDB引擎1.前言RocksDB是基于Facebook开源的一种支持事务的、高度可压缩、高性能的MyRocks存储引擎,特别适用于高度压缩和大容量的数据。以下是一些关键特点:高性能:LSM树结构使得RocksDB在写入密集型负载下表现卓越。它能够处理大量的写入操作,并且......