编程技术分享平台

网站首页 > 技术教程 正文

SAP痴货:ABAP数据库(open sql)读取操作

xnh888 2024-11-04 14:54:58 技术教程 27 ℃ 0 评论

ABAP这门编程语言提供了两种数据库的操作方式:Open sql和native sql.

在sap里面open sql最为普遍。在hana之前,sap只是ERP类型软件,不提供数据库,数据库需要另行安装。为了适应各种数据库,SAP提供了Open sql这种技术作为abap开发使用,在后端SAP负责将open sql转换为对应数据的SQL语句。

而native sql就是abap开发程序中建立与其他数据库的连接,并直接使用该数据库对应的sql语句进行操作。在实际开发中较少使用到。

今天在这里只对读取做简单介绍,后续一一道来。

  • 读取单一行数据

    select single * from [table] into [wa] where [field] = ...

    在读取单一行数据时,尽量使用KEY值去搜索。当sy-subrc = 0时,读取成功,当它为4时,数据不存在。

  • 读取多行数据

    select * from [table] into table [itab] where [field] = ...

    关注sy-dbcnt字段,但读取成功时,该字段存储数据条目信息

  • 只读取部分数据

    将数据读取出来后,可能仅仅使用其中的几个字段,这时就尽量不要读取整行的数据。读取到的数据是占用内存的,尽量控制占用量。

    读取单行的部分字段:

    select single [fields] from [table] into(variants) where [fields] = ....

    select single [fields] from [table] into cprresponding fields of [wa] where [fields] = ....

读取多行的部分字段数据:

select single [fields] from [table] into cprresponding fields of table [itab] where [fields] = ....

  • select ... endselect.

    这种语法是逐条读取,在读取过程中可以逐条进行数据操作,最后将数据保存。

    select * from [table] into [wa] where [field] = ...

    append [wa] to [itab].

    endselect.


代码示例:

一小时到了,就讲到这里了。大家要多多练习呀。SQL是编程中最最常用的技能了,加油。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表