SAP ABAP——OPEN SQL(一)【INTO语句】

简介: 本文主要介绍SAP ABAP中OPEN SQL的INTO语句

本文主要介绍SAP ABAP中OPEN SQL的INTO语句



结构体插入(插入一条语句时)

SELECT...INTO [CORRESPONDING FIELDS OF] <wa> FROM <db> WHERE <condition>.


内表插入(插入多条语句时)

SELECT...INTO|APPENDING [CORRESPONDING FIELDS OF] TABLE <itab>
      FROM <db> WHERE <condition>

1. 当不需要连续查询多条语句并且依次插入内表时使用"INTO",因为每次使用INTO语句将数据插入内表都会先清空内表,示例代码及效果如下

REPORT ZWYZTEST_FOR_MANGO.
DATA:GT_SFLIGHT TYPE TABLE OF SFLIGHT.
DATA:GS_SFLIGHT TYPE SFLIGHT.
SELECT CARRID INTO CORRESPONDING FIELDS OF TABLE GT_SFLIGHT FROM SFLIGHT WHERE CARRID = 'AC'.
SELECT CARRID INTO CORRESPONDING FIELDS OF TABLE GT_SFLIGHT FROM SFLIGHT WHERE CARRID = 'AF'.
LOOP AT GT_SFLIGHT INTO GS_SFLIGHT.
   WRITE:GS_SFLIGHT-CARRID.
ENDLOOP.

ddbb5f588f6e416344cd530a893ee8b.png


2.当需要连续查询多条语句并且依次插入内表时使用"APPENDING",因为每次使用APPENDING语句将数据插入内表不会清空内表,保留先前的插入数据,示例代码及效果如下

REPORT ZWYZTEST_FOR_MANGO.
DATA:GT_SFLIGHT TYPE TABLE OF SFLIGHT.
DATA:GS_SFLIGHT TYPE SFLIGHT.
SELECT CARRID APPENDING CORRESPONDING FIELDS OF TABLE GT_SFLIGHT FROM SFLIGHT WHERE CARRID = 'AC'.
SELECT CARRID APPENDING CORRESPONDING FIELDS OF TABLE GT_SFLIGHT FROM SFLIGHT WHERE CARRID = 'AF'.
LOOP AT GT_SFLIGHT INTO GS_SFLIGHT.
    WRITE:GS_SFLIGHT-CARRID.
ENDLOOP.

7ccb69fd987b9ec924f77d790a26652.png


SFLIGHT数据库表(下方示例代码也采用该数据库表)

955902441b320d8bb0dd1dddde8a38b.png



PACKAGE用法

    使用PACKAGE可以限制每次追加到内表里的数据件数,假设当n为5时,则每次只读取5条数据添加到内表中,注意!使用PACKAGE,结尾一定要使用ENDSELECT语句结束!

SELECT...INTO|APPENDING [CORRESPONDING FIELDS OF] TABLE <itab>
       PACKAGE SIZE <n>
       FROM <db> WHERE <condition>.
    ENDSELECT.


Single Field

SELECT...INTO(f1,f2...)...

示例代码及效果:

REPORT ZWYZTEST_FOR_MANGO.
DATA:GV_CARRID TYPE SFLIGHT-CARRID.
DATA:GV_CONNID TYPE SFLIGHT-CONNID.
SELECT CARRID CONNID INTO (GV_CARRID,GV_CONNID) FROM SFLIGHT WHERE CONNID = 2415.
ENDSELECT.
WRITE:GV_CARRID,GV_CONNID.

7a5aae705c63dbdd44614449f19fecb.png

目录
相关文章
|
SQL XML Oracle
Mybatis动态SQL语句查询,实现一个参数 可查询多个字段。
Mybatis动态SQL语句查询,实现一个参数 可查询多个字段。
908 0
Mybatis动态SQL语句查询,实现一个参数 可查询多个字段。
|
SQL Java 数据库连接
如何在 Java 代码中使用 JSqlParser 解析复杂的 SQL 语句?
大家好,我是 V 哥。JSqlParser 是一个用于解析 SQL 语句的 Java 库,可将 SQL 解析为 Java 对象树,支持多种 SQL 类型(如 `SELECT`、`INSERT` 等)。它适用于 SQL 分析、修改、生成和验证等场景。通过 Maven 或 Gradle 安装后,可以方便地在 Java 代码中使用。
4181 11
|
SQL 存储 缓存
一文搞懂MySQL中一条SQL语句是如何执行的
一文搞懂MySQL中一条SQL语句是如何执行的
|
SQL Oracle 关系型数据库
mysql和oracle 命令行执行sql文件 数据库执行sql文件 执行sql语句
mysql和oracle 命令行执行sql文件 数据库执行sql文件 执行sql语句
345 0
|
SQL 存储 关系型数据库
MySQL的第一篇文章——了解数据库、简单的SQL语句
MySQL的第一篇文章——了解数据库、简单的SQL语句
|
SQL Python
Pandas与SQL的数据操作语句对照
Pandas与SQL的数据操作语句对照
355 0
Pandas与SQL的数据操作语句对照
|
SQL 程序员 开发工具
【Sql Server】基础之分组查询重复出现多条记录的SQL语句,以及group by和having、min函数运用
基础之分组查询重复出现多条记录的SQL语句,以及group by和having、min函数运用
【Sql Server】基础之分组查询重复出现多条记录的SQL语句,以及group by和having、min函数运用
SQL 查询表中每门课程成绩最好的前n名学生 优于group by语句的方法
SQL 查询表中每门课程成绩最好的前n名学生 优于group by语句的方法
SQL 查询表中每门课程成绩最好的前n名学生 优于group by语句的方法
|
SQL 数据库 数据安全/隐私保护
使用SQL语句 查询电话号码 加密显示
使用SQL语句 查询电话号码 加密显示
514 0
使用SQL语句 查询电话号码 加密显示
|
SQL 存储 安全
MYSQL数据库初窥门径, SQL语句地熟练使用, 图形化界面提高效率
MYSQL数据库初窥门径, SQL语句地熟练使用, 图形化界面提高效率
MYSQL数据库初窥门径, SQL语句地熟练使用, 图形化界面提高效率