SAP入门技术分享三:OPEN SQL

news2025/1/16 5:41:49

OPEN SQL

  • 1. 概要
    • (1)R/3体系结构
    • (2)SQL定义
    • (3)OPEN SQL经常使用的命令
  • 2. OPEN SQL
    • (1)SELECT 语句
    • (2)INTO语句
  • 3. FROM语句
    • (1)选择静态表,用AS指定别名
    • (2)选择动态表,表名要是大写字母
    • (3)JOIN语句,用于多表连接
    • (4)UP...TO...语句,限制查询个数
  • 4. WHERE语句
    • (1)WHERE条件语句
    • (2)Interval条件-范围
    • (3)字符串比较-LIKE语句
    • (4)LIST VALUE-IN语句
    • (5)SELECTION TABLE
    • (6)动态条件
    • (7)FOR ALL ENTRIES语句
  • 5. GROUPING-GROUP BY语句
  • 6. SORT-ORDER BY语句
    • (1)根据关键字排序
    • (2)ASCENDING | DESCENDING指定升序/降序排序
  • 7. SORT-ORDER BY语句
    • (1)Scalar Subquery
    • (2)Non-scalar Subquery
  • 8. 数据修改-INSERT语句
    • (1)一条数据
    • (2)多条数据
  • 9.数据修改-UPDATE语句
    • (1)一条数据
    • (2)多条数据
  • 10.数据修改-DELETE语句
    • (1)一条数据
    • (2)多条数据
  • 11.数据修改-MODIFY语句
    • (1)一条数据
    • (2)多条数据

1. 概要

(1)R/3体系结构

在这里插入图片描述

(2)SQL定义

  定义:Structured Query Language,ABAP的OPEN SQL里只允许使用DML语言。
在这里插入图片描述
在这里插入图片描述

(3)OPEN SQL经常使用的命令

在这里插入图片描述
SY-SUBRC返回成功与否,SY-DBCNT返回数据的个数。

2. OPEN SQL

在这里插入图片描述

(1)SELECT 语句

在这里插入图片描述
当查询一条数据时:
在这里插入图片描述
当查询多条数据时:
在这里插入图片描述
INTO保存到字段或者结构体时,相当于在LOOP循环中执行SELECT语句:
在这里插入图片描述
AS指定别名:
在这里插入图片描述
动态SELECT语句:
在这里插入图片描述

(2)INTO语句

查询一条数据:
  使用结构体,用CORRESPONDING FIELDS OF语句会自动找到相同字段名匹配赋值。
在这里插入图片描述
查询多条数据:
  往内表插入数据时用APPENDING,不能使用INTO。
在这里插入图片描述
PACKAGE SIZE:指定每次追加到内表里的数据件数,需要使用ENDSELECT语句。
Single Field
在这里插入图片描述

3. FROM语句

  用FROM语句指定要查询数据的相应数据库表(或视图)。
在这里插入图片描述
在这里插入图片描述

(1)选择静态表,用AS指定别名

在这里插入图片描述

(2)选择动态表,表名要是大写字母

在这里插入图片描述

(3)JOIN语句,用于多表连接

在这里插入图片描述
使用JOIN语句时若不指定JOIN类型,则默认是INNER JOIN。
分类:INNER JOIN
OUTER JOIN
LEFT JOIN
RIGHT JOIN

(4)UP…TO…语句,限制查询个数

在这里插入图片描述


4. WHERE语句

(1)WHERE条件语句

在这里插入图片描述
在这里插入图片描述

(2)Interval条件-范围

  需要在条件中追加范围值时使用此语句。
在这里插入图片描述

(3)字符串比较-LIKE语句

  比较字符串时使用LIKE语句。
在这里插入图片描述

(4)LIST VALUE-IN语句

  使用IN语句可以取得符合多种情况的数据。
在这里插入图片描述

(5)SELECTION TABLE

  使用IN语句可以查询存储在Selection Table,Range变量里的数据。
在这里插入图片描述

(6)动态条件

  可以动态地写SELECT语句的WHERE条件。
在这里插入图片描述

(7)FOR ALL ENTRIES语句

  用FOR ALL ENTRIES语句连接内表。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5. GROUPING-GROUP BY语句

  主要用于使用Aggregate函数前分组用GROUP BY语句进行分组。
在这里插入图片描述
在这里插入图片描述
  HAVING语句是用GROUP BY语句时的查询条件。
在这里插入图片描述
注:GROUP BY之后需要写入除了聚合函数之外的所有其他字段。最后结果的数量是分组的数量。

6. SORT-ORDER BY语句

(1)根据关键字排序

在这里插入图片描述

(2)ASCENDING | DESCENDING指定升序/降序排序

在这里插入图片描述

7. SORT-ORDER BY语句

(1)Scalar Subquery

  用于在WHERE语句中追加特殊条件,只能指定一个字段。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2)Non-scalar Subquery

  当存在Subquery查询的数据时返回TRUE,不存在时返回FALSE,使用EXISTS语句实现。
在这里插入图片描述

8. 数据修改-INSERT语句

(1)一条数据

  往数据库表中追加一行数据时使用的语句。
在这里插入图片描述
  若想使用INSERT 语句,要事先以TABLES:形式定义结构体。
在这里插入图片描述

(2)多条数据

  往数据库表中一次性插入内表的所有值,由于插入相同主键的数据时会发生语法错误,因此要使用ACCEPTING DUPLICATE KEYS语句。
在这里插入图片描述

9.数据修改-UPDATE语句

(1)一条数据

  往数据库表中修改一行数据时使用的语句。
在这里插入图片描述
  若想使用UPDATE 语句,要事先以TABLES:形式定义结构体。
在这里插入图片描述

(2)多条数据

  往数据库表中修改多行数据时使用的语句。
在这里插入图片描述
  可以用UPDATE SET 字段1 字段2的形式修改指定字段。
在这里插入图片描述

10.数据修改-DELETE语句

(1)一条数据

  往数据库表中删除一行数据时使用的语句。
在这里插入图片描述
  若想使用DELETE 语句,要事先以TABLES:形式定义结构体。
在这里插入图片描述

(2)多条数据

  可以一次性删除内表中符合WHERE条件的所有值。
在这里插入图片描述

11.数据修改-MODIFY语句

在这里插入图片描述

(1)一条数据

  往数据库表中插入/更新一条数据时使用的语句。
在这里插入图片描述
  若想使用MODIFY 语句,要事先以TABLES:形式定义结构体。
在这里插入图片描述

(2)多条数据

  可以一次性修改或追加内表的所有值。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/156022.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JSONArray

目录1. 需求2. 测试3. 实现需求4. 相关操作1. 将JSONObject装入JSONArray2. JSONArray与String的相互转换1. 需求 最近有个需求: 要接收某个接口的 JSON 数据,而这个JSON数据有可能是一个 JSON 对象,也有可能是一个 JSON数组。 "{name…

python数据结构之字符串

一、字符串的格式化输出 1.1、格式化运算符 print("我跑完了第" str(lap 1) "圈")上面这段输出的代码使用了两个加号做了字符串拼接,并且将整形转换成了字符串。也可以使用一种更好的办法,格式化输出来打印这句话。 print(&quo…

内存取证——基础知识(volatility内存取证)

目录 一、基本概念 二、运行内存镜像的获取 2.1 Windows内存镜像获取 2.1.1 Magnet RAM Capture获取内存镜像 2.1.2 AccessData FTK Imager软件获取内存镜像 2.1.3 DumpIt软件获取内存镜像 2.1.4 额外知识补充: 2.2 Linux\Mac OS 下内存镜像获取方法 三、内…

什么是云渲染?云渲染速度快吗?

近年来随着计算机技术的逐步发展,万物上‘’云‘’的趋势越发明显,一种基于云计算的SAAS服务平台——云渲染农场开始走入CG行业。而且云渲染农场(如Renderbus瑞云渲染)也在众多CG小伙伴的眼里成为了不可或缺的一部分。有人问云渲染…

[ docker相关知识 ] 删除 docker 拉取的容器 -- 解决删除镜像报错问题

🍬 博主介绍 👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…

CSS入门八、CSS3动画

零、文章目录 文章地址 个人博客-CSDN地址:https://blog.csdn.net/liyou123456789个人博客-GiteePages:https://bluecusliyou.gitee.io/techlearn 代码仓库地址 Gitee:https://gitee.com/bluecusliyou/TechLearnGithub:https:…

三、Gradle使用

文章目录三、Gradle使用1 在 idea 中创建普通 java 工程2 在 idea 中创建 ssm 工程3 项目部署3.1 本地tomcat部署项目3.2 Gretty 部署项目3.3 具体使用4 Gradle 对测试支持4.1 默认测试目录及标准输出4.2 Junit 使用4.3 包含和排除特定测试【尚硅谷】Gradle教程-讲师&#xff1…

Blender 物理属性 (一)刚体

文章目录添加与去除刚体查看刚体效果刚体属性刚体设置碰撞表面响应添加与去除刚体 1 添加:物体模式选中一个物体,属性栏/物理属性(蓝色圆圈),选择刚体 2 去除:再次点击刚体按钮即可 查看刚体效果 1 点击…

SpringCloud系列(八)[docker 篇] - 关于 Docker 的一些介绍及架构

近几年 Docker 还是挺火的, 学习微服务也肯定要知道 Docker 的存在并最好掌握一些基本操作, 毕竟一些体量非常大的项目运行环境会比较复杂, 部署的时候难免会遇到某些问题, 如兼容性 / 生产环境有差异等问题… 本篇文章将以图文的形式对 Docker 进行介绍, 加深对 Docker 的印象…

S2B2b2C电商框架图

S2B2b2C电商框架图 以下是S2B2b2C系统的结构图和流程说明: 它是品牌商赋能门店流量,以用户为中心、提升用户体验的一种电商模式。 这个品牌商可以是工厂、连锁品牌、省代市代等商贸流通型企业,它可以一个或者多个仓库,甚至有自己…

文件恢复软件哪个最好用?5 款最佳照片文件恢复软件

丢失照片很常见,但恢复它们取决于您选择的方法或软件。找到最好的照片恢复软件来恢复永久删除的照片并不容易。在许多网页上,您可以找到一大堆照片恢复工具,无论它们的性能如何。这可能会造成很多混乱,不知道优先使用什么照片恢复…

Linux操作系统之线程创建

文章目录一、了解线程二、线程的创建一、了解线程 什么是线程? 线程是进程内部的一条执行路径或执行序列 二、线程的创建 pthread_creat() //创建线程 pthread_exit() //只退出当前线程 pthread_join() //等待线程结束/合并线程 第一类题目:1、首先…

Python玩人工智能:你的俯卧撑做对了吗?

1. 准备工作 1.1 安装Python3.8.x 1.2 安装PyCharm社区版 1.3 创建项目 1.4 安装项目使用工具包 1.1 下载安装Python3.8.x版本 首先我们的电脑上要安装Python3.8.x。Python 3.8.x : https://www.python.org/downlo... 1.2 下载安装PyCharm社区版 PyCharm: https://www.j…

远程办公与Web3内核高度匹配 将重塑全球劳动力市场格局?

在过去两年半的时间里,全球有45%的工作转为了远程办公模式,不过即使疫情好转,大城市的办公室入驻率仍低于疫情前50%的水平。 这表明,现在越来越多的人更喜欢远程工作的生活方式。“远程办公”从疫情期间的无奈选择,正在…

java基于ssm框架的企业人事管理系统企业工资考勤系统

简介 Java基于ssm开发的企业人事考勤工资系统,员工可以打卡、请假。系统根据员工的打卡情况自动计算工资(全勤、请假、旷工、加班、迟到、早退等计算出最终实发工资),员工还可以查看自己的考勤记录工资具体组成等。升级版加了部长…

jedis是什么,为什么是线程不安全的

常用的操作redis的客户端工具 jedis Jedis 是 Redis 官方推荐的 Java 连接开发工具,jedis非线程安全。 但是可以通过JedisPool连接池去管理实例,在多线程情况下让每个线程有自己独立的jedis实例,可变为线程安全。 Lettuce Lettuce 是基于…

嵌入式实时操作系统的设计与开发(七)

内存管理机制 内存管理就是把物理的存储资源用一定的规则和手段管理起来,以供给操作系统和应用程序使用。 主要的操作:内存的分配和内存的回收。 内存的利用率、分配回收的效率和稳定性成为了评价内存管理模块的主要依据。 内存分配又包括静态和动态两种…

Pinely Round 1 (Div. 1 + Div. 2) A. Two Permutations

来写一道*800的题,思路很简单,就是这道题我们应该怎么去严谨地思考Problem - 1761A - Codeforces思路:结论题的分类讨论一定要不重不漏一开始很容易想到,前缀和后缀不能有重合那么有重合部分就判No没有重合的情况:隔1个…

Linux常用命令——xz命令

在线Linux命令查询工具(http://www.lzltool.com/LinuxCommand) xz POSIX 平台开发具有高压缩率的工具。 补充说明 xz命令XZ Utils 是为 POSIX 平台开发具有高压缩率的工具。它使用 LZMA2 压缩算法,生成的压缩文件比 POSIX 平台传统使用的 gzip、bzip2 生成的压缩…

多线程进阶(二)Callable接口,JUC下常见类使用及线程安全集合类

目录 前言: Callable接口 代码实现 JUC下常见类使用 ReentrantLock类 代码实现 信号量 代码实现 CountDownLatch类 代码实现 线程安全的集合类 多线程环境下使用ArrayList 多线程环境下使用队列 多线程环境下使用哈希表 小结: 前言&#…