Oracle常见语法错误

摘要:
[参考文章]:java。sql。SQLSynctaxErrorException:ORA-0909:参数数量无效[参考文章]:OracleConcat()函数[参考文章]:MySQL concat()功能[参考文章]]:MyBatisOracle批处理插入数据[参考文章]-ORA-01861:文本和格式字符串不匹配1。Java语言sql。SQLSynctaxErrorException:ORA-00933:

【参考文章】:java.sql.SQLSyntaxErrorException: ORA-00909: 参数个数无效

【参考文章】:Oracle Concat()函数

【参考文章】:MySQL concat()函数

【参考文章】:MyBatis Oracle批量插入数据

【参考文章】:ORA-01861: 文字与格式字符串不匹配

1. java.sql.SQLSyntaxErrorException: ORA-00933: SQL 命令未正确结束

1.1 创建表的别名时去掉 as 关键字

1.2 子语句后面添加或去掉逗号

  在 left join  ... on ...后面添加逗号(,)或者去掉逗号(,)

  Oracle两个左连接语句,一个需要加逗号,一个需要去掉逗号,我也不知道为啥

  select xxx  from  tableA left join xxx on xxx , where xxx;

1.3 限制查询记录数量

  Oracle 有一个隐藏的字段是 rownum,表示当前记录是第几行

  MySQL:select xxx from table limit  n

  Oracle:select  xxx from table where  xxx=xxx and  rownum=n;

1.4 排序后取第一行

  如果要先排序,再取第一行,则需要:select  xxx from (select  xxx from table where xxx=xxx order by time) where rownum=n;

2. java.sql.SQLSyntaxErrorException: ORA-00909: 参数个数无效

2.1 concat函数

  select COUNT(*) from base_vehicle_info where 1=1 and org_id IN (SELECT org_id FROM base_organization 
WHERE id_level LIKE CONCAT('%/',#{orgId},'/%') and del_flag = 0

  mysql 的 concat可连接一个或者多个字符串;

  oracle 的 concat 只能连接两个字符串,超过两个的时候需要嵌套使用;

  select COUNT(*) from base_vehicle_info where 1=1 and org_id IN (SELECT org_id FROM base_organization 
WHERE id_level LIKE concat(concat('%', 1584), '%'))and del_flag = 0

3. java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符

3.1 分号

  去掉查询语句后面的分号

4. ORA-00904 :xxx标识位无效

  检查表明和字段名是否正确

4.1 IFNULL 标识符无效

  mysql的 IFNULL可用 Oracle 的 nvl 代替

  

免责声明:文章转载自《Oracle常见语法错误》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇用网线在两台电脑间传送文件WPF 读写XML文件下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Oracle表中一行记录被锁(行锁,表锁,死锁)

表现形式:可以向表里面save新数据,但是无法跟新某一条数据,update的时候就一直在等待。 Oracle锁表查询和解锁方法 数据库操作语句的分类DDL:数据库模式定义语言,关键字:createDML:数据操纵语言,关键字:Insert、delete、updateDCL:数据库控制语言 ,关键字:grant、removeDQL:数据库查询语言,关键字:s...

oracle语句

1.增加主键alter table TABLE_NAME add constraint KEY_NAME primary key (TABLE_COLUMN);指定表空间alter table TABLE_NAME add constraint KEY_NAME primary key (TABLE_COLUMN) using index tablespac...

[mysql] mysql批量操作时性能优化

--------------------------------结论--------------------------------- MySql 非批量10万条记录,5700条/秒 MySql 批量(batch)10万条记录,62500条/秒 oracle 非批量插入10万条记录, 4464 条/秒 oracle 批量 (batch)插入10万条记录,...

oracle pl/sql 变量

一、变量介绍在编写pl/sql程序时,可以定义变量和常量;在pl/sql程序中包括有:1)、标量类型(scalar)2)、复合类型(composite) --用于操作单条记录3)、参照类型(reference) --用于操作多条记录4)、lob(large object)    二、标量(scalar)——常用类型1)、在编写pl/sql块时,如果要使用...

sde用户下使用sqlplus登录错误ORA-12547: TNS:lost contact

环境:linux + oracle +arcsde   解决:root用户下增加$ORACLE_HOME/bin/oracle文件的s权限 [oracle@localhost bin]$ chmod +s oracle   查看权限 [oracle@localhost bin]$ ls -al oracle   s权限参考  chmod +s 可以给...

不安装oracle客户端,如何运行sqlplus

1.软件下载 http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html 下载如下三个包: oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.ziporacle-instantclient11.2-jdbc-11.2.0.1.0...