前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ABAP数据表的操作

ABAP数据表的操作

作者头像
matinal
发布2020-11-27 10:42:51
1.6K0
发布2020-11-27 10:42:51
举报
文章被收录于专栏:SAP Technical

这几天对于数据标的操作表较多,自己从网上找资料和自己动手操作总结了一些数据表的增删改查操作,希望对一些初学者有所帮助,仅供参考。

开源的数据库操作都离不开INSERT、UPDATE、MODIFY和DELETE语句。其中当SY-DBCNT返回为0,则表示操作成功,此外还将返回实际操作的数据行数。需要指明的是Open SQL本身并不进行操作权限的检查,若需要进行设定,则要在系统中创建授权对象。

一.INSERT语句 Open SQL中的INSERT语句用于向数据库中插入新条目。 1.插入单行数据:dbtab是内表,wa是工作区。 INSERT INTO dbtab VALUES wa. INSERT INTO dbtab FROM wa.

内表:Internal memory table 内存中的表,是外设(屏幕、磁盘,打印机等)和数据库表数据交换的中介。 wa为工作区,是与数据库具有相同结构的数据对象,一般直接基于数据库结构声明。该语句也可以将数据插入视图中,首先该视图所有字段必须来自同一个数据库表,而且在数据字典中的maintenance status属性必须设定为read and change 注:如果相同表关键字的数据条目已经存在,则不能重新插入,只能对非关键字进行更改(UPDATE,MODIFY)

2.插入多行数据:datab是内表,itab是表 INSERT dbtab FROM TABLES itab. 其中itab是内表,包含希望插入的数据条目。 注:内表应与数据库的行结构一致。 所有条目成功插入,则SY-SUBRC返回0 使用ACCEPTING DUPLICATE可避免该错误。 INSERT dbtab FROM TABLE itab ACCEPTING DUPLICATE KEYS. ACCEPTING DUPLICATE的效果是:若出现关键字相同,返回4,并跳过其再更新所有的其他。

二.UPDATE语句 1.更新单行数据: UPDATE dbtab SET f1=g1 ... fn=gn WHERE <fix_key>. f表组建字段名,g为新设定的值,WHERE为确保只更新单行。 注:除f=g外还可 f=f+g、f=f-g 通过工作区更改单行数据: UPDATE dbtab FROM wa. 2.更新多行数据: UPDATE dbtab SET f1=g1 ... fi=gi [WHERE <conditions>]. 也可以使用SET和WHERE子句同时更新多行数据值;此外不需要在WHERE中限定所有表关键字,该语句本身将更新所有满足条件的数据条目,若不是用WHERE子句,则将更新当前数据集团中的所有数据行。 注:如果至少有一行数据被更新SY-BUBRC返回0,否则返回4。 还可通过内表来更新多行数据: UPDATE target FROM TABLE itab.

三.MODIFY语句 MODIFY语句是SAP的Open SQL中专有语句,该语句相当于INSERT和UPDATE语句的结合。引入期的原因是当更新数据库操作时,并不确知数据库中是否遗憾相应的数据行。 1.添加或更新单行: MODIFY dbtab FROM wa. 注:操作后SY-SUBRC恒为0;SY-DBCNT为1 2.添加或更新多行: MODIFY dbtab FROM TABLE itab. 内表itab将覆盖数据库表中具有相同主关键字的条目。 注:SY-SUBRC恒为0;SY-DBCNT返回行数 四.DELETE语句 1.删除单行数据: DELETE FROM dbtab WHERE <fix_key>. 或 DELETE dbtab FROM wa. 其中WHERE必须指明全部表关键字段的值;wa为工作区,若不去dbtab匹配操作将失败。 2.删除多行数据: DELETE FROM dbtab WHERE <condition>. DELETE dbtab[CLIENT SPECIFIED] FROM TABLE itab. 注:返回值同MODIFY 3.删除多行数据: 两种形式:1).通过内表删除多行数据条目的过程中将内表置为空;2).使用WHERE FIELD LIKE '%'。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/01/09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档