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…...
连接未来:嵌入式系统在物联网时代的应用
连接未来:嵌入式系统在物联网时代的应用 随着物联网技术的不断发展,嵌入式系统在物联网时代扮演着至关重要的角色。嵌入式系统作为连接物理世界和数字世界的桥梁,为物联网的实现提供了技术支持和基础设施。以下将从几个方面探讨嵌入式系统在…...
自动驾驶中的障碍物时间对齐法
描述 自动驾驶算法使用的系统往往不是实时系统,因此每个节点间拿到的数据可能不是同一时间的数据,从而造成系统误差,针对这一现象,工程上往往采用时间对齐内插外推法。这里我们用感知障碍物来举例。 自动驾驶系统有许多重要模块…...
模型参数、模型存储精度、参数与显存
模型参数量衡量单位 M:百万(Million) B:十亿(Billion) 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的,但是一个参数所表示多少字节不一定,需要看这个参数以什么…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
QMC5883L的驱动
简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
uniapp中使用aixos 报错
问题: 在uniapp中使用aixos,运行后报如下错误: AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...
Xen Server服务器释放磁盘空间
disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...
用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...
嵌入式常见 CPU 架构
架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集,单周期执行;低功耗、CIP 独立外设;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel(原始…...
