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 ;
    
posted @ 2022-02-03 14:25  LANGKYE#  阅读(1825)  评论(1编辑  收藏  举报