ABAP语法之OpenSQL语句01.pptx

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
51SAP SAP高端项目实战第一品牌数位资深项目经理多年经验总结SAP ECC ABAP 高端实战课程 敲开通向SAP金领行业的大门ABAP_Unit02Open SQL Open SQL 简介 基本语法及结构Open SQL  Open SQL 简介底层数据库与SAP系统数据库的关系SAP系统本身并不提供数据库硬件系统,但支持Oracle、SQL Server等多种数据库,然而每种数据环境的SQL语法都有一定的差异,为了访问不同的数据库,可通过SAP的数据库接口操作这些底层的数据库,该接口可以将ABAP语言转换成数据库系统可以识别的SQL语言。SAP系统支持两种在程序中操作数据库的语句,分别为ABAP语言中的OPEN SQL语句和特定数据的自身SQL——Native SQL语句Open SQL 简介Open SQL的说明 特点:独立于不同类型的数据库之上,通过SAP数据库接口来识别各种不同的数据库,然后由接口把SAP的Open SQL语句自动转换成相应数据库的特定SQL语句,如此程序员无需熟悉各不同数据库的标准SQL,而且ABAP程序也因此实现与数据库平台的无关性。 Open SQL语句分为:SELECT(数据查询)、INSTER(数据插入)、UPDATE(数据更新)、MODIFY(数据修改)、DELETE(数据删除)等,但SQL语句中的数据定义和数据控制不能通过Open SQL来实现,只能通过Native SQL来实现。 Native SQL是在ABAP程序中调用特定数据库本身的SQL语句,可现实所有SQL功能,但有两个条件:1、必须明确系统正在使用的数据库类型,2、要了解该数据库所使用的SQL语句的具体语法形式。而且不具备可移植性(可能不能在别的SAP系统上运行),一般不推荐使用。 Native SQL不是一个好的解决方案,SAP系统中往往使用其它方法来实现数据定义和数据数据控制,那就是数据字典这一ABAP工作台工具来完成。Open SQL 简介基本语法及结构 SELECT数据查询语句 INSERT数据插入语句 UPDATE数据更新语句 MODIFY数据修改语句 DELETE数据删除语句SELECT数据查询语句基本语句如下:SELECT select_clause FROMfrom_clause INTO into_clause WHERE where_clause.说 明:1)、SELECT用于确定读取数据表中的哪些字段;2)、FROM子句用于确定从哪些内表或者视图中读取数据;3)、INTO用于确定将数据读取到程序内的哪些数据对象;4)、WHERE用于限定选择条件;SELECT数据查询语句单行数据的提取:系统在数据库中找到第一条符合条件的数据就停止查询,在确定数据条目唯一性(例如通过关键字)的情况下,使用单选选择可以提高查询效率基本语句如下:SELECT SINGLE result INTO target FROM source WHERE where_clause.说 明:1)、当WHERE条件中可以确定所有主关键字做为条件时,建议使用;2)、*表示提取全部字段3)、可选择指定字段取出相应数据4)、INTO语句中的目标对象要和result中结构数据类型相同SELECT数据查询语句例:符合条件的全部字段取出假设数据库表SPFLI中数据如下:符合条件的第一条数据被取出SELECT数据查询语句例:取出指定字段注意事项:1)、INTO中的对象类型与所取字段的类型一致或可互换2)、多个数据对象时需要用”()”括起来,括号与对象之前没有空格3)、对象之间用”,”号分隔, 而且顺序需要与SELECT中指明的字段顺序一致,且类型适宜SELECT数据查询语句当INTO中的结构字段多于需要取出的字段时,可用【CORRESPONDING FIELDS】例:说 明:1)、不会将所选行的所有字段内容放进目标区中2)、只将SELECT中指定的字段内容根据名字传送到目标工作区中3)、因系统需要进行字段名称的比较,影响运行效率,不推荐使用SELECT数据查询语句多行数据的提取:符合条件的数据为多条时,包括循环选择和选择至内表两种情况循环选择语句如下:SELECT [DISTINCT] result …… statement blockENDSELECT.说 明:1)、该语句必须已ENDSELECT语句结束循环2)、DISTINCT表示去掉结果重复的行3)、SY-DBCNT给读取的行计数,每循环一次,SY-DBCNT加14)、循环时是单条数据逐步处理,影响效率,不推荐使用SELECT数据查询语句例:循环选择处理:取出起始城市为“NEW YORK”的所有数据执行结果例:去掉重复数据执行结果SELECT数据查询语句多行数据的提取至内表:

文档评论(0)

70后老哥 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档