native sql -ABAP开发从入门到精通笔记
- Native SQL
-
- SQL概要
-
- OPEN SQL读取数据
-
-
- Select
-
Select <lines> <columns>...
Select signle <cols>.... where.
列去重数据
Select distinct <cols>... where...
当取多条数据时,select结果会保存到内表中。
Select ... into...语句的结果不是保存在内保中,而是保存到了wa中,这里就要加一个endselect语句。
【如果是select into wa,就要使用endselect, 在endselect前输出所有的数据记录】
同样使用as来命名别名
<cols> As <alias>
动态select,即表名或者字段名,或者条件用变量来表示
对于动态select使用(dobj)来表示
-
-
- Into
-
Into 是存储select语句查询的结果值的目的地
可以是结构体,也可以是内表,也可以是字段
结构体
当查询一条语句时,使用wa,
此时使用corresponding fields of 语句会自动找到相同字段名匹配赋值。
Select ...
Into [CORRESPONGDING FIELDS OF ] wa.
内表
Select ...
Into| APPEND [CORRESPONGDING FIELDS OF ] TABLE gv_itab PACKAGE SIZE n...
PACKAGE SIZE n...
表示,每次只读取n调数据添加到内表中。
此时注意要用endselect。
单字段
查询表个别子弹或者使用aggregate函数时,
但前提是这两个字段不能存在空白
Select carrid connid into (gv_carrid, gv_connid) from sfligth.
-
-
- From
-
Client specified 解除自动client设置。
BY PASSING BUFFER,不会从SAP本地缓冲器中读取数据,直接访问数据库读取数据
UP TO n ROWS,限制查询的个数。
静态选择表名
动态选择表名:(dobj)
JOIN语句
Inner join 与outer join
限制查询个数
静态选择表名
Select … from <dbtab> [AS <alias>] <options>
动态选择表
Select ... from (dobj)
join语句
Select ...
from <tab>
[inner] join <dbtab> [as alias] on <cond> [options]...
| select single a~carrid b~carname into corresponding fields of gs_str from sflight as a inner join scarr as b on a~carrid EQ b~carrid where a~carrid = 'AA'. |
Inner join 与 outer join
Select ...
From <tab>
Left [outer] join <dbtab> [as alias]
On <connd>
<options>
限制查询个数
UP TO <n> ROWS
Select ... from <tab> UP TO <n> ROWS.
-
-
- Where
-
EQ =
NE <> ><
LT <
LE ≤
GT >
GE ≥
范围
WHERE s [not] between <f1> AND <f2>
字符串比较
Like
List value
[not] In ()
动态条件
将条件拼接为一个字符串,然后再where条件中,动态调用这个字符串变量
For all entries
Select ... for all entries in <itab>
Where <cond>
For all entries 与select的嵌套语句和子查询功能类似,
使用时,where语句中的条件必须是itab中存在的字段
-
-
- Grouping
-
Select <f1> <f2> <agg>...
Group by <f1> <f2>
Avg, count, max, min, stddev, sum
Group by 也可以动态指定。
Having,在group by之后的条件选择。
-
-
- Order by
-
Order by primary key [descending| ascending]
-
-
- Subquery
-
就是在select中嵌套select。
-
- OPEN SQL修改数据
-
-
- Insert
-
INSERT INTO <target> VALUES <wa>.
INSERT <target> FROM <wa>.
INSERT <target> FROM TABLE <itab> [ACCEPTIONG DUPLICATE KEYS].
这个语句是为了避免插入相同主键的数据是报错dump error
-
-
- Update
-
UPDATE INTO <target> <lines>.
UPDATE <target> FROM <wa>.
UPDATE <target> FROM TABLE <itab>.
UPDATE <target> SET <set1> <set2> WHERE <connd>.
-
-
- Delete
-
DELETE <target> FROM <wa>.
DELETE <dbtab>.
DELETE FROM <target> WHERE <connd>.
-
-
- Modify
-
MODIFY即有update的功能也有insert的功能,当数据库中表存在该值的时候刽update,不存在的时候,会insert
MODIFY <target> <lines>.
MODIFY <target> FROM <wa>.
MODIFY <target> FROM TABLE <itab>.
-
- NATIVE SQL
优点:可以直接访问数据库的表,可以实现OPENSQL中无法实现的sql
EXEC SQL.
<NATIVE SQL >
ENDEXCE.
相关文章:
native sql -ABAP开发从入门到精通笔记
Native SQL SQL概要 OPEN SQL读取数据 Select Select <lines> <columns>... Select signle <cols>.... where. 列去重数据 Select distinct <cols>... where... 当取多条数据时,select结果会保存到内表中。 Select ... into...语句的结果不…...
C++完美转发【gpt】
提问:用极其通俗易懂的文字解释C的完美转发 ChatGPT 好的,让我用非常通俗易懂的方式解释一下 C 中的完美转发。 假设你有一个房子(函数),你想把家具(参数)从一个房间(函数&#x…...
C++之类和对象(2)
目录 1.类的6个默认成员函数 2. 构造函数 2.1 概念 2.2 特性 3.析构函数 3.1 概念 3.2 特性 4. 拷贝构造函数 4.1 概念 4.2 特征 5.赋值运算符重载 5.1 运算符重载 5.2 赋值运算符重载 2. 赋值运算符只能重载成类的成员函数不能重载成全局函数 3. 用户没有显式实现时&…...
时间序列分析实战(四):Holt-Winters建模及预测
🍉CSDN小墨&晓末:https://blog.csdn.net/jd1813346972 个人介绍: 研一|统计学|干货分享 擅长Python、Matlab、R等主流编程软件 累计十余项国家级比赛奖项,参与研究经费10w、40w级横向 文…...
Springboot之集成MongoDB无认证与开启认证的配置方式
Springboot之集成MongoDB无认证与开启认证的配置方式 文章目录 Springboot之集成MongoDB无认证与开启认证的配置方式1. application.yml中两种配置方式1. 无认证集成yaml配置2. 有认证集成yaml配置 2. 测试1. 实体类2. 单元测试3. 编写Controller测试 1. application.yml中两种…...
BLEU: a Method for Automatic Evaluation of Machine Translation
文章目录 BLEU: a Method for Automatic Evaluation of Machine Translation背景和意义技术原理考虑 n n n - gram中 n 1 n1 n1 的情况考虑 n n n - gram中 n > 1 n\gt 1 n>1 的情况考虑在文本中的评估初步实验评估和结论统一不同 n n n 值下的评估数值考虑句子长度…...
代码随想录算法训练营|day42
第九章 动态规划 416.分割等和子集代码随想录文章详解 背包类型求解方法0/1背包外循环nums,内循环target,target倒序且target>nums[i]完全背包外循环nums,内循环target,target正序且target>nums[i]组合背包外循环target,内循环nums,target正序且target>nums[i] 416.分…...
vscode与vue/react环境配置
一、下载并安装VScode 安装VScode 官网下载 二、配置node.js环境 安装node.js 官网下载 会自动配置环境变量和安装npm包(npm的作用就是对Node.js依赖的包进行管理),此时可以执行 node -v 和 npm -v 分别查看node和npm的版本号: 配置系统变量 因为在执…...
Vue前端对请假模块——请假开始时间和请假结束时间的校验处理
开发背景:Vueelement组件开发 业务需求:用户提交请假申请单,请假申请的业务逻辑处理 实现:用户选择开始时间需要大于本地时间,不得大于请假结束时间,请假时长根据每日工作时间实现累加计算 页面布局 在前…...
搭建freqtrade量化交易机器人
本文采用python量化机器人框架 freqtrade 开始操作! freqtrade官方文档 官方文档内容过多,请先跟随本文入门阅读,后续深入学习可参考官方文档~ 1. 准备云服务器 docker 环境 这里以云服务器选择 ubuntu 系统开始,先…...
php伪协议 [SWPUCTF 2022 新生赛]ez_ez_php(revenge)
打开题目 题目源代码如下 <?php error_reporting(0); if (isset($_GET[file])) {if ( substr($_GET["file"], 0, 3) "php" ) {echo "Nice!!!";include($_GET["file"]);} else {echo "Hacker!!";} }else {highlight_fi…...
1.1_1 计算机网络的概念、功能、组成和分类
文章目录 1.1_1 计算机网络的概念、功能、组成和分类(一)计算机网络的概念(二)计算机网络的功能(三)计算机网络的组成1.组成部分2.工作方式3.功能组成 (四)计算机网络的分类 总结 1.…...
pytorch中的各种计算
对tensor矩阵的维度变换,加减乘除等是深度学习中的常用操作,本文对一些常用方法进行总结 矩阵乘法 混合矩阵相乘,官网 torch.matmul(input, other, *, outNone) → Tensor这个方法执行矩阵相乘操作,需要第一个矩阵的最后一个维度…...
大数据技术之 Kafka
大数据技术之 Kafka 文章目录 大数据技术之 Kafka第 1 章 Kafka 概述1.1 定义1.2 消息队列1.2.1 传统消息队列的应用场景1.2.2 消息队列的两种模式 1.3 Kafka 基础架构 第 2 章 Kafka 快速入门2.1 安装部署2.1.1 集群规划2.1.2 集群部署2.1.3 集群启停脚本 2.2 Kafka 命令行操作…...
【GB28181】wvp-GB28181-pro部署安装教程(Ubuntu平台)
目录 前言1 安装依赖2 安装MySQL3 安装redis4 编译ZLMediaKit代码及依赖下载编译运行(如果要运行wvp整个项目,这步可以先不执行) 5 编译wvp-pro下载源码(建议从github上下载,gitee上维护有时候不是很同步)编…...
CentOS删除除了最近5个JAR程序外的所有指定Java程序
帮我写一个shell脚本,ps -eo pid,lstart,cmd --sort-start_time | grep "pgz-admin"查到的结果,返回的所有进程PID,第六个之上的,全部kill 当然,你可以创建一个简单的Shell脚本来完成这个任务。以下是一个例…...
面试redis篇-13Redis为什么那么快
Redis是纯内存操作,执行速度非常快采用单线程,避免不必要的上下文切换可竞争条件,多线程还要考虑线程安全问题使用I/O多路复用模型,非阻塞IOI/O多路复用模型 Redis是纯内存操作,执行速度非常快,它的性能瓶颈是网络延迟而不是执行速度, I/O多路复用模型主要就是实现了高效…...
python Matplotlib Tkinter--pack 框架案例
环境 python:python-3.12.0-amd64 包: matplotlib 3.8.2 pillow 10.1.0 版本一 import matplotlib.pyplot as plt from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2Tk import tkinter as tk import tkinter.messagebox as messagebox…...
连接未来:嵌入式系统在物联网时代的应用
连接未来:嵌入式系统在物联网时代的应用 随着物联网技术的不断发展,嵌入式系统在物联网时代扮演着至关重要的角色。嵌入式系统作为连接物理世界和数字世界的桥梁,为物联网的实现提供了技术支持和基础设施。以下将从几个方面探讨嵌入式系统在…...
自动驾驶中的障碍物时间对齐法
描述 自动驾驶算法使用的系统往往不是实时系统,因此每个节点间拿到的数据可能不是同一时间的数据,从而造成系统误差,针对这一现象,工程上往往采用时间对齐内插外推法。这里我们用感知障碍物来举例。 自动驾驶系统有许多重要模块…...
Vite中如何配置自定义ESLint规则?(2026 Vite全新配置教程 全程避坑,亲测有效)
在 Vite 项目中配置自定义 ESLint 规则,主要分为 安装依赖、创建配置文件 和 (可选)集成到开发服务器 三个核心步骤。以下是详细指南: 第一步:安装必要的 ESLint 依赖 首先,你需要安装 ESLint 核心包以及针…...
毕业论文的“隐藏时间成本”,你计算过吗?
你有没有算过一笔账:一篇毕业论文从选题到定稿,真正花在“写”上面的时间是多少?我把这个问题抛给近一百名大学生,得到的回答出奇一致——大部分时间根本不是花在“写”,而是花在“不知道该写什么”和“写着写着就卡住…...
工业现场Docker容器启动失败率骤降83.6%:27个被忽略的udev规则、cgroup v2与RT kernel协同配置
第一章:工业现场Docker容器启动失败率骤降83.6%的全局洞察在某大型智能制造基地的边缘计算节点集群中,Docker容器平均启动失败率曾长期维持在12.4%,导致PLC数据采集中断、OPC UA网关服务延迟及实时告警丢失。通过系统性根因分析发现ÿ…...
5 大渗透靶场全攻略:DVWA、Pikachu、SQLi-Labs 一站式教程
前言 因为最近有任务需要搭建一些适合新手使用的靶场,所以收集了一下互联网常见的一些友好的新手渗透测试靶场。 分别是DVWA、Pikachu、SQLi-Labs、Upload-Labs、XSS-Labs。 DVWA靶场 DVWA靶场是一个专门用于漏洞测试和练习的Web应用程序,旨在为安全…...
关于苹果官宣库克卸任CEO 属于他的时代结束了
2026 年 4 月 21 日,Apple Investor Relations 页面更新了一条公告。这条公告本身很短,但刷屏速度很快——库克宣布将在 2026 年内卸任 CEO。 朋友圈、Tech 推主、各路科技博主纷纷下场,有人写悼词,有人分析继任者,有…...
Vivado 2017下Zynq-7000 PS端UDP通信实战:从lwIP配置到性能调优全记录
Vivado 2017环境下Zynq-7000 PS端UDP通信全流程实战指南 在嵌入式系统开发中,网络通信功能的实现往往面临工具链版本限制的挑战。本文将深入探讨如何在Vivado 2017这一相对陈旧的开发环境中,为Zynq-7000系列芯片的PS端构建完整的UDP通信功能。不同于新版…...
手把手教你玩转English-Corpora.org:从查词频到挖冷门搭配的完整指南
手把手教你玩转English-Corpora.org:从查词频到挖冷门搭配的完整指南 当你在写作中纠结"significant"和"crucial"哪个更学术,或是想找出"break the ice"的地道变体时,英语语料库就是你的秘密武器。不同于传统…...
【C# 14 原生AOT实战白皮书】:Dify客户端部署性能跃升3.7倍的5大关键配置与避坑清单
第一章:C# 14 原生AOT部署Dify客户端对比评测报告总览本章聚焦于使用 C# 14 全新原生 AOT(Ahead-of-Time)编译能力构建并部署 Dify 官方 API 客户端的实践路径与性能对比。Dify 作为开源 LLM 应用开发平台,其 RESTful 接口广泛用于…...
Python连接openGauss避坑实录:从Docker环境变量到psycopg2事务管理的完整流程
Python连接openGauss实战指南:从Docker部署到事务管理的全流程解析 当开发者决定在项目中采用openGauss这款企业级开源数据库时,Python作为最流行的编程语言之一,自然成为首选的交互工具。但在实际开发中,从环境搭建到代码实现&am…...
别再踩坑了!Spring Boot项目里Jackson处理LocalDateTime的正确姿势(附完整配置代码)
Spring Boot项目中Jackson处理LocalDateTime的终极指南 如果你正在使用Spring Boot开发Java应用,并且遇到了LocalDateTime序列化的问题,那么这篇文章就是为你准备的。作为现代Java开发中最常用的日期时间API之一,LocalDateTime在JSON序列化时…...
