SAP ABAP——OPEN SQL(六)【DML】

简介: 本文主要介绍SAP ABAP中OPEN SQL的数据操控语言(DML)

本文主要介绍SAP ABAP中OPEN SQL的数据操控语言(DML)



ABAP DML语句分类

DML语句(data manipulation language)又称数据操控语言,在传统数据库中数据操控语言只有三种,分别是INSERT,UPDATE,DELETE语句,而在SAP ABAP OPEN SQL中DML语句还额外多了一个MODIFY语句,该语句融合了INSERT和UPDATE语句的特点。ABAP四种DML语句的基本介绍如下表所示

语句 功能
INSERT 插入语句
UPDATE 更新语句
DELETE 删除语句
MODIFY 插入&更新语句


INSERT语句


插入单条数据语句

INSERT INTO <target> VALUES <wa>.
INSERT <target> FROM <wa>.

案例代码演示

DATA:GS_SFLIGHT TYPE SFLIGHT.
GS_SFLIGHT-CARRID = 'AC'.
GS_SFLIGHT-CONNID = 0820.
INSERT INTO SFLIGHT VALUES GS_SFLIGHT.

效果演示

528d6faaa3a96efcf403b1d008a3b9e.png

2c8b61b800f60cf6cf525f415b4d71d.png



插入多条数据语句

INSERT <target> FROM TABLE <itab> [ACCEPTING DUPLICATE KEYS].

注:插入相同主键的数据时会发生dump error,为了避免发生这种错误要使用ACCEPTING DUPLICATE KEYS语句


案例代码演示

DATA:GS_SFLIGHT TYPE SFLIGHT.
DATA:GT_SFLIGHT TYPE TABLE OF SFLIGHT.
GS_SFLIGHT-CARRID = 'AC'.
GS_SFLIGHT-CONNID = 0820.
GS_SFLIGHT-FLDATE = '20020217'.
APPEND GS_SFLIGHT TO GT_SFLIGHT.
INSERT SFLIGHT FROM TABLE GT_SFLIGHT.

效果演示

8f076c69dbeed9298c45f3f0b4c36e8.png

63f1c996b716224f6e719303b7e65c9.png




UPDATE语句

修改单条数据语句

UPDATE <target> FROM <wa>.

案例代码演示

DATA:GS_SFLIGHT TYPE SFLIGHT.
GS_SFLIGHT-CARRID = 'AC'.
GS_SFLIGHT-CONNID = 0820.
GS_SFLIGHT-FLDATE = '00000000'.
GS_SFLIGHT-PRICE = 1600.
UPDATE SFLIGHT FROM GS_SFLIGHT.

效果演示

b7c3b6b0039f81f8001cfe994262a89.png

b4f670a8796fe44890d5fe1cf70699b.png


修改多条数据语句

UPDATE <target> FROM TABLE <itab>.
UPDATE <target> SET <set1> <set2> WHERE <cond>.

案例代码演示(从内表更新数据库表)

DATA:GS_SFLIGHT TYPE SFLIGHT.
DATA:GT_SFLIGHT TYPE TABLE OF SFLIGHT.
GS_SFLIGHT-CARRID = 'AC'.
GS_SFLIGHT-CONNID = 0820.
GS_SFLIGHT-FLDATE = '00000000'.
GS_SFLIGHT-PRICE = 2000.
APPEND GS_SFLIGHT TO GT_SFLIGHT.
GS_SFLIGHT-CARRID = 'AC'.
GS_SFLIGHT-CONNID = 0820.
GS_SFLIGHT-FLDATE = '20020217'.
GS_SFLIGHT-PRICE = 2100.
APPEND GS_SFLIGHT TO GT_SFLIGHT.
UPDATE SFLIGHT FROM TABLE GT_SFLIGHT.

效果演示

1c672bf7734af77390bb35393e8ac2d.png

783557806932569502fd792b70b322f.png



案例代码演示(修改指定字段)

UPDATE SFLIGHT SET PRICE = 1600 CURRENCY = 'CNY' WHERE CARRID = 'AC'
AND CONNID = 0820 AND FLDATE = '00000000'.

效果演示

889f87450a907ba046c8a8e415aeb00.png

85e6cb7294c9e0900816f211723a1cd.png




DELETE语句


删除单条数据

DELETE <target> FROM <wa>.

案例代码演示

DATA:GS_SFLIGHT TYPE SFLIGHT.
GS_SFLIGHT-CARRID = 'AC'.
GS_SFLIGHT-CONNID = 0820.
GS_SFLIGHT-PRICE = 1600.
DELETE SFLIGHT FROM GS_SFLIGHT.

效果演示

8bfb2f8077fcc67216658b38ceacea6.png

7c92fcfd949989241346b3ba530b698.png



删除多条数据

DELETE FROM <target> WHERE <cond>.

案例代码演示

DELETE  FROM SFLIGHT WHERE PRICE = 1600 OR PRICE = 2100.

效果演示

dc29df882235907dff875fbc5d3860d.png

e7eb298243582c9481c1c2e89decdb7.png



MODIFY语句


插入/更新单条数据

MODIFY <target> FROM <wa>.

案例代码演示(插入数据)

DATA:GS_SFLIGHT TYPE SFLIGHT.
GS_SFLIGHT-CARRID = 'AC'.
GS_SFLIGHT-CONNID = 0820.
GS_SFLIGHT-FLDATE = '20200615'.
GS_SFLIGHT-PRICE = 1600.
MODIFY SFLIGHT FROM GS_SFLIGHT.

效果演示

6f945ac27f299af83764932cfad3037.png

c201a6c9409edefbeee40b0c5ac93b2.png



案例代码演示(更新数据)

DATA:GS_SFLIGHT TYPE SFLIGHT.
GS_SFLIGHT-CARRID = 'AC'.
GS_SFLIGHT-CONNID = 0820.
GS_SFLIGHT-FLDATE = '20200615'.
GS_SFLIGHT-PRICE = 2100.
MODIFY SFLIGHT FROM GS_SFLIGHT.

效果演示

afe39b3c4d9c76090059a9036304417.png

212cdad36f10c7a999a695ad1fdd84a.png



插入/更新多条数据

MODIFY <target> FROM TABLE <itab>.

案例代码演示(更新数据)

DATA:GS_SFLIGHT TYPE SFLIGHT.
DATA:GT_SFLIGHT TYPE TABLE OF SFLIGHT.
GS_SFLIGHT-CARRID = 'AC'.
GS_SFLIGHT-CONNID = 0820.
GS_SFLIGHT-FLDATE = '20200615'.
GS_SFLIGHT-PRICE = 1600.
APPEND GS_SFLIGHT TO GT_SFLIGHT.
GS_SFLIGHT-CARRID = 'AC'.
GS_SFLIGHT-CONNID = 0820.
GS_SFLIGHT-FLDATE = '20200617'.
GS_SFLIGHT-PRICE = 2100.
APPEND GS_SFLIGHT TO GT_SFLIGHT.
MODIFY SFLIGHT FROM TABLE GT_SFLIGHT.

效果演示

7c84e1584275fed46780655bb20b77a.png

492926f6608d3b451c57243a16e3030.png



目录
相关文章
|
SQL 关系型数据库 MySQL
MySQL基本SQL语句2(DML)
DML英文全称是Data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进 行增、删、改操作。DML语句主要分为三个大类 本章做演示使用的是上一章创建的表,MySQL基本SQL语句1(DDL) 下面是原本数据库表中的内容 我们使用命令对表进行两个修改如果是需要对全表都进行修改的话,就不需要写条件语句where 此处删除id为1的数据,和前边的修改语句一样,在where后面加入条件 此处删除所有数据,就没有条件了,因此不用写where DML语句是对基
80 1
|
SQL 安全 数据库
深入理解SQL的数据操作语言(DML)
SQL(Structured Query Language)是一种用于管理和操作关系数据库的强大语言。SQL语言被分为多个子语言,其中之一是DML(Data Manipulation Language),用于执行与数据的操作和管理相关的任务。在本文中,我们将深入探讨DML的各个方面,从基础操作到高级技巧,以帮助初学者更好地理解和使用SQL的DML。
344 1
|
SQL 存储 数据库
OBCP第三章 SQL引擎高级技术-DML语句处理
OBCP第三章 SQL引擎高级技术-DML语句处理
76 0
|
7月前
|
SQL 存储 大数据
【大数据技术Hadoop+Spark】Hive基础SQL语法DDL、DML、DQL讲解及演示(附SQL语句)
【大数据技术Hadoop+Spark】Hive基础SQL语法DDL、DML、DQL讲解及演示(附SQL语句)
272 0
|
4月前
|
SQL 关系型数据库 数据库
|
6月前
|
SQL 数据库
零基础学习数据库SQL语句之操作表中数据的DML语句
零基础学习数据库SQL语句之操作表中数据的DML语句
64 0
零基础学习数据库SQL语句之操作表中数据的DML语句
|
6月前
|
SQL 关系型数据库 MySQL
MySQL数据库——图形化界面工具(DataGrip),SQL(2)-DML(插入、修改和删除数据)
MySQL数据库——图形化界面工具(DataGrip),SQL(2)-DML(插入、修改和删除数据)
600 1
|
7月前
|
SQL 关系型数据库 MySQL
【MySQL-4】简述SQLの通用语法及4种基本语句介绍(DDL/DML/DQL/DCL)
【MySQL-4】简述SQLの通用语法及4种基本语句介绍(DDL/DML/DQL/DCL)
|
SQL 关系型数据库 MySQL
Mysql数据库 3.SQL语言 DML数据操纵语言 增删改
Mysql数据库 3.SQL语言 DML数据操纵语言 增删改
79 0
|
SQL 数据可视化 数据库