如何在Oracle DB中覆盖> 2499字符错误?

use*_*088 5 oracle sqlplus oracle10g oracle11g

我有一个Oracle查询,我正在通过shell脚本执行,并且我的查询超过了最大长度2499.

我收到了错误

SP2-0027:输入太长(> 2499个字符) - 线路忽略

Jon*_*ler 9

以下是一些解决SQL*Plus行长限制的选项:

  1. 升级到12.2(?)客户端. 在12.2上,客户端最多允许4999个字符.哪种方式令人愤怒 - 如果Oracle最终承认2499还不够,为什么他们只将限制增加到4999?
  2. 添加换行符. 将结果拆分为多行.如果使用Windows,请确保同时使用回车符和换行符 - chr(13)||chr(10).
  3. 使用其他程序. 许多程序都有类似SQL*Plus的选项.一般来说,我建议不要使用SQL*Plus克隆.SQL*Plus的主要优点是它是一个简单的工具,并且在任何地方都可以使用相同的工具.没有SQL*Plus克隆是完全兼容的,如果在克隆上运行SQL*Plus脚本,许多程序将会中断.


Lit*_*oot 0

尝试在那条长行的某处添加换行符;这是 SQL*Plus 的限制,据我所知,您无法通过某些设置(例如 SET LINESIZE 100 等)来避免它。