ORA-01788: 此查询块中要求 CONNECT BY 子句
问题
在
oracle
中使用查询语句报错:
-- ORA-01788: 此查询块中要求 CONNECT BY 子句
原因
估计是表字段使用了保留的关键字的原因,我司的表有一个LEVEL
,这个是oracle
数据库的保留关键字。
oracle
内部报错的具体原因:
暂时还不清楚,如有大佬知晓,欢迎评论/留言🤓。
解决
-
方案一:
将表中的保留关键字替换为新的字段。 -
方案二:
在所有查询语句中对应的关键字查询加上双引号"
。 -
方案三:
执行如下SQL语句(注:此sql是设置level
,其他保留关键字,暂时没试过。)ALTER SYSTEM SET "_ALLOW_LEVEL_WITHOUT_CONNECT_BY"=TRUE SCOPE=BOTH ;