new open SQL ABAP语法错误,逗号和转义符变量 when escaped, all host variables must be escaped using@
为啥要用@?
我的select 后面的字段用逗号分隔了:
然后get了一个错:当用转义符时,所有主变量都得用@转义。
为啥呢,因为新旧SQL语法它不一样。
把新旧两种语法混合在一起就会有语法错误。
如果你用逗号分隔字段,那就是新open sql那主变量就得用@转义。
就是变量啊,工作区间啊,内表啊这些本地变量,如果逻辑用新SQL就得用@ 。用@ 来区分本地变量和外部变量。这个本地和外地我觉得就是方法内的变量和类的变量。但是也极大可能不是这个意思。
那么啥是新open SQL?我查了一下,发现它不就是和Oracle的SQL语句更接近了,有些功能可以用了。而且说为了代码下移做了优化啥的,具体不知道。来看看例子:
*20220608 就是HANA的SQL语法
文章目录
- 1. 用@转义
1. 用@转义
这个也就是个HANA和ABAP的变量定义不一样了。
如果用ABAP的变量定义,那么得统统定义一遍,但是这里对于内表的定义就只用@DATA,对于工作区间的定义就只是DATA了:
在HANA里面语法就直接变成了:
减少了很多条定义语句。
用常量检查,看是否存在条目。
这个ABAP_TRUE是个常量。类型boolean, 值X。
这个并没有去查啥,只是确定了matnr = 112的这条存在。这个常量值只为了确定这条。
这种明显Oracle的加减乘除语句也可以用了。
合并两列为一列作为KEY这个列名。新表也是只有Key这一列。一切向Oracle靠拢。
case when then的语句也能在select里面用了,给个列别名material_type. 这个case里的列分类最后放到material_type里了。直接在数据库层给你搞好了分类了。不用哼哧哼哧loop读表再改了。条条大路通罗马啊。
以下把search_term改成小写,还前后加了%通配符,为了能跟LIKE一起用。
还有好多其他功能,感觉要重看一遍Oracle SQL语句。
new open SQL ABAP语法错误,逗号和转义符变量 when escaped, all host variables must be escaped using@相关推荐
- SQL语句like子句中的转义符
如果想在SQL LIKE里查询有下划线'_'或是'%'等值的记录,直接写成like 'XXX_XX',则会把'_'当成是like的通配符.SQL里提供了 escape子句来处理这种情况,escape可 ...
- MySQLSyntaxErrorException sql语句语法错误
今天在写sql的时候一直报错,反复检查就是找不出毛病,后来折腾了N久,终于发现是少写了引号, tt.tag_name as tagTwoList.tag_name 应该写作 tt.tag_name a ...
- System.Data.SqlClient.SqlException:“ ',' 附近有语法错误。必须声明标量变量 @Password。”
前言: 七层登录中遇到的问题,几乎都是通过别人的办法一下子就解决掉了!最后遇到的这个问题,卡了我3个番茄! 过程: 1 这里说明SQL语句出了问题 2 找到了问题原因,这里的参数名字多写了一个标点,导 ...
- JS基础语法(02)-JS的转义符
转义符: \ 改变原来符号的作用就叫转义符 /*** 转义符: `\` 改变原来符号的作用就叫转义符* \" :输出双引号* \t:水平制表符,说人话就是多打几个空格* \n:换行符* \\ ...
- mysql 占位符 出错_占位符报语法错误
新增和更新方法类里面的占位符能够跑起来,但是删除和查询单个女神里面的占位符就会报语法错误,将占位符手动改为具体整型数字就可以正确运行. 以下是部分源码.//删除功能代码块 public void de ...
- sql server 数据库 ' ' 附近有语法错误
昨天做项目时候,遇到标题的问题,代码跟踪把sql 语句 复制出来在数据库执行不了, 然后重新写个一模一样的,然后在 赋值到代码中,还是同样的错误, 就是不知道哪里出现了错误,最后 把 sql 语句写成 ...
- mysql标记上具有语法错误_ProgrammingError:(1064,'您的SQL语法有错误;请查看与MySQL服务器版本相对应的手册以获得正确的语法...
我正在用python编写一个简单的爬行程序.所以,我用了MySQL和Python.但当我执行这个简单的程序时,会出现一个错误.然后,从web上爬网的内容不会在MySQL表上更新.此错误消息显示编程错误 ...
- mysql语法错误文件_使用logstash同步MySQL的数据时,在jdbc查询sql文件时报sql语法错误,sql文件是navicat生成的...
使用logstash同步MySQL的数据时,在jdbc查询sql文件时报sql语法错误,并且错误总是near在第1行,sql文件的编码是utf8mb64 ,不知道是否是编码问题 logstash配置j ...
- MyBatis引起的SQL语法错误
当我们在使用MyBatis框架时,有时会报SQL语法错误,例如这样 这时我们去检查xml文件里面的SQL语句,也没发现什么错误啊,这个时候你就应该想到是不是由MyBatis这个框架引起的了,因为MyB ...
最新文章
- 基于C++Opencv的傅里叶变换代码
- 为什么2G/3G和AI擦不出火花?他们用这篇论文告诉你答案
- 23 个优秀的机器学习训练公共数据集
- python与c语言有什么区别_Python和C语言的语法有什么不同?
- boost::filesystem模块打印文件状态的测试程序
- ubuntu切换python,以及切换python后相关包的管理
- VC++新建选择卡的解释
- TIMING_02 浅谈时序约束与时序分析
- nginx 的启动、停止与重启
- systemtap gui
- 面向对象——抽象基类
- ubuntu 配置ip地址命令
- Request的getParameter和getAttribute方法的区别
- Python——彩票(大乐透)模拟随机选号
- 项目-2.EVP论文与代码解析(Audio-Driven Emotional Video Portraits)
- 外贸常用术语_常用外贸术语大全
- fixed 和setprecision()的用法
- 老枪的59条制胜法则
- 论文写作基础之文献研究法与访谈法介绍
- 判断点是否在图形(矩形、椭圆、多边形)内的算法(一)