几种多数据库表update的方式测试

简介: 几种多数据库表update的方式测试

Created by Jerry Wang, last modified on Jun 13, 2014

假设有数据库表ZUPDATE_TEST1和ZUPDATE_TEST2 需要同时update,理论上有下列几种方式.

本文模拟了表2 执行update的上下文如果有fatal exception发生的情况( 通过在update 表2的function module里人为加上ASSERT 1 = 0 的语句),目的是检查表1和表2的更新是否真正persist到数据库里。


1. 表1在normal的work process里进行update,表2通过update function module进行update

REPORT ZUPDATE_NORMAL_AND_UPDATE.
PARAMETERS: index type int4 OBLIGATORY.
data: ls_data type zupdate_test2.
ls_data-myindex = index.
ls_data-text = 'test' && index.
insert ZUPDATE_TEST1 FROM ls_Data.
WRITE: / 'result: ', sy-subrc.
CALL FUNCTION 'ZUPDATE_TEST2' IN UPDATE TASK
   EXPORTING
      index = index.
COMMIT WORK AND WAIT.
FUNCTION ZUPDATE_TEST2.
data: ls_data type zupdate_test2.
ls_data-myindex = index.
ls_data-text = 'test' && index.
insert ZUPDATE_TEST2 FROM ls_Data.
ASSERT 1 = 0.
ENDFUNCTION.

结果: 表1成功更新,表2更新失败( 对应的entry未插入到数据库里)

2. 表1和表2分别在不同的两个update function module里更新,表2更新的update function module里有fatal exception发生.

REPORT ZUPDATE_TWO_UPDATE_CALL.
PARAMETERS: index type int4 OBLIGATORY.
CALL FUNCTION 'ZUPDATE_TEST1' IN UPDATE TASK
   EXPORTING
      index = index.
CALL FUNCTION 'ZUPDATE_TEST2' IN UPDATE TASK
   EXPORTING
      index = index.
COMMIT WORK AND WAIT.

结果: 表1和表2均未更新。

结果: 表1和表2均未更新。
3. 表1和表3的更新放在同一个update function module里
相关文章
|
3月前
|
数据库 OceanBase 索引
在OceanBase数据库中,REPLACE INTO和insert update在效率上可能有所不同
【2月更文挑战第30天】在OceanBase数据库中,REPLACE INTO和insert update在效率上可能有所不同
213 1
|
3月前
|
NoSQL 算法 大数据
国内首个图计算标准发布,悦数图数据库通过测试
近日,经中国通信标准化协会批准,《大数据图计算平台技术要求与测试方法》标准正式发布,这是我国首个图计算平台标准,为图计算平台的发展提供了一个标准化的指导方针,对于推动我国图技术的发展具有重要意义。
|
3月前
|
SQL 关系型数据库 MySQL
实时计算 Flink版产品使用合集之数据库执行的是UPDATE操作,那么Flink监听到的类型是什么
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
3月前
|
JavaScript Java 测试技术
大学生体质测试|基于Springboot+vue的大学生体质测试管理系统设计与实现(源码+数据库+文档)
大学生体质测试|基于Springboot+vue的大学生体质测试管理系统设计与实现(源码+数据库+文档)
50 0
|
17天前
|
SQL 关系型数据库 数据库
关系型数据库SQL server UPDATE 语句
【8月更文挑战第3天】
43 10
|
30天前
|
监控 Oracle 关系型数据库
关系型数据库Oracle恢复测试
【7月更文挑战第20天】
32 7
|
30天前
|
关系型数据库 MySQL 测试技术
数据库升级是一个涉及数据备份、新版本安装、数据迁移和测试等关键环节的复杂过程
【7月更文挑战第21天】数据库升级是一个涉及数据备份、新版本安装、数据迁移和测试等关键环节的复杂过程
27 1
|
29天前
|
测试技术 数据库 容器
开发与运维测试问题之操作数据库进行DAO层测试如何解决
开发与运维测试问题之操作数据库进行DAO层测试如何解决
|
2月前
|
SQL 关系型数据库 Java
有大批量的数据导入到数据库,规则是数据库有相应主键的就update没有就insert怎么做效率快
有大批量的数据导入到数据库,规则是数据库有相应主键的就update没有就insert怎么做效率快
78 1
|
2月前
|
关系型数据库 MySQL 数据库
MySQL数据库——触发器-案例(Insert类型、Update类型和Delete类型)
MySQL数据库——触发器-案例(Insert类型、Update类型和Delete类型)
39 0