现象
在 yasql 执行 sql 语句后报错:YASQL-00021 input line overflow (>4000 byte at line 4)
原因
yasql 在交互模式模式下单行字符总量限制 4000 字节,超出该限制即报错。
交互式模式下,yasql 会显示一个提示符,通常是 SQL>,等待用户输入命令,
用户执行的每个命令都会立即执行,并显示结果。这允许用户实时看到他们的操作效果。
解决办法
非交互模式下单行字符总量最大限制为:32000 字节。远高于交互模式下的 4000 字节。
如果输入文本是 32000 字节以内,可以用非交互模式来执行。非交互模式有 2 种方法执行:
1、通过输入文件方式执行 yasql usr/passsword -f -e test.sql
2、设置登录 yasql 为静默模式( silent mode),yasql -S usr/passsword << EOF
SELECT value FROM v$parameter WHERE name = 'background_dump_dest';
exit
EOF
总结
当遇到需要在 yasql 下执行,但 SQL 语句太长,超出交互模式单行字符上限制,可用使用非交互模式。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。