现象

在 yasql 执行 sql 语句后报错:YASQL-00021 input line overflow (>4000 byte at line 4)
图片.png
原因

yasql 在交互模式模式下单行字符总量限制 4000 字节,超出该限制即报错。

交互式模式下,yasql 会显示一个提示符,通常是 SQL>,等待用户输入命令,

用户执行的每个命令都会立即执行,并显示结果。这允许用户实时看到他们的操作效果。

解决办法

非交互模式下单行字符总量最大限制为:32000 字节。远高于交互模式下的 4000 字节。

如果输入文本是 32000 字节以内,可以用非交互模式来执行。非交互模式有 2 种方法执行:

1、通过输入文件方式执行 yasql usr/passsword -f -e test.sql
图片.png
2、设置登录 yasql 为静默模式( silent mode),yasql -S usr/passsword << EOF

SELECT value FROM v$parameter WHERE name = 'background_dump_dest';

exit

EOF
图片.png
总结

当遇到需要在 yasql 下执行,但 SQL 语句太长,超出交互模式单行字符上限制,可用使用非交互模式。


qiaoyikefu
1 声望0 粉丝