druid Oracle SQL解析,错误SQL语法解析正常

yv5phkfx  于 4个月前  发布在  Druid
关注(0)|答案(1)|浏览(63)

代码 : String sql = "select * whererrrr id = 1";
final String dbType = JdbcConstants.ORACLE; List stmtList =
SQLUtils.parseStatements(sql, dbType);
SQLStatementParser parser = SQLParserUtils.createSQLStatementParser(sql, dbType);
List stmtList = parser.parseStatementList();

错误SQL语法解析通过。
druid version 1.1.10 ,1.1.21

@wenshao 温老师,跑以上类似SQL,dbType为MYSQL,DB2会抛出异常,但是在ORACLE的情况下解析通过,stmt中select 变为了SELECT * FROM DUAL

f0ofjuux

f0ofjuux1#

是的 他把这句话解析成几个语句了
因为支持mysql 所以select的引擎没有必须accept from关键字

这块最明显的是 你可以写两个select语句之间不带分号 也能正常识别

相关问题