SAP ABAP openSQL数据库操作(三)

SAP ABAP openSQL数据库操作(一)
SAP ABAP openSQL数据库操作(二)
SAP ABAP openSQL数据库操作(四)

4.数据更新

1.INSERT

1.单行插入数据
有两种格式,都是通过工作区的方式插入到数据库.
在插入的过程中,应该注意主键.

INSERT INTO dbtab VALUE wa.
INSERT INTO datab FORM  wa.

在这里插入图片描述
2.插入多行数据
通过内表的方式插入到数据库

INSERT INTO dbtab FORM TABLE itab.

注意要保持内表和数据库的结构一致.
在这里插入图片描述
如果至少一行数据没有插入成功,则会报运行时错误,且系统不会更新任何数据,可以使用下面格式.

SAP ABAP 运行时的错误控制 语法: CATCH SYSTEM-EXCEPTIONS

INSERT dbtab FORM TABLE itab ACCEPTING DUPLICATE KEYS.

ACCEPTING DUPLICATE KEYS这个语句表示的是如果主键出现相同的数据,此时SY-SUBRC = 4,系统则跳过该条目,并更新其他所有的条目

2.UPDATE

1.单行更新
WHERE的条件一般是主键.

UPDATE dbtab SET f1 = g1 f2 = g2.... WHERE <fix_key>

通过工作区更改单行数据.
使用工作区更新需要保证工作区的结构个数据库的结构是一致的,然后系统会根据工作区中关键字段的值定位该数据行,并非根据所有非关键字段的值将该行进行更新.

UPDATE dbtab FROM wa.

在这里插入图片描述
2.更新多行数据
使用setwhere同时更新多行.

UPDATE dbtab SET f1 = g1 f2 = g2....[ WHERE <condition> ]

where中此时可以不使用关键字段,她会将所有满足条件的全部更新.
如果不使用where将更新当前集团全部数据.
在这里插入图片描述
通过内表更新数据行

UPDATE target FROM TABLE itab.

3.MODIFY

这篇博客比较详细地介绍了modify的一下常用用法,大家可以做一个参考
abap MODIFY常用语法解析

MODIFY是SAP专有的语句,他相当于是INSERTUPDATE这两个语句的结合体.
在使用modify时如果数据库中存在则根据关键字进行修改操作;如果不存在就进行插入操作.
1.添加或更新单行

MODIFY dbtab FROM wa.

2.添加或更新多行
这个是按照内表的方式进行添加的,添加的原理和上述一样的.

MODIFY dbtab FROM TABLE itab.

4.DELETE

1.删除单行数据
where必须指明全部主键

DELETE FROM dbtab WHERE <fix_key>.

或者

DELETE dbtab FROM wa.

2.删除多行数据

DELETE FROM dbtab WHERE <condition>.

通过内表删除多行

DELETE dbtab [CLIENT SPECIFED] FROM TABLE itab. 

在这里插入图片描述
3.删除多有数据(“删除库跑路”)
通过内表删除多行数据,将内表置为空;
使用WHERE field LIKE '%' 作为唯一条件.

5.数据一致性

数据库的一致性和安全性的控制过程比较复杂.
多和客户服务器层次结构相关,abap中需了解LUM锁定概念,从而对一致性和安全性有所了解.

1.SAP LUW | DB LUW

比如我们常见的用户订单 商品库存 等是必须保持数据的一致性和安全性的,要不然很容易造成数据错误,造成严重的后果.

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雨天行舟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值