oracle – 如何使sqlplus输出出现在一行?
我有一个100列的表.在SQL Plus中选择数据时,输出会包装,使其难以阅读.
我更喜欢的是要出现的水平滚动条,要么以某种方式将输出发送到更少 我在SQLPlus中运行以下语句 – SET LINESIZE 32000; SET PAGESIZE 40000; SET LONG 50000; SPOOL output.txt SELECT * FROM big_table; 然后在bash我跑 –
输出仍然显示包装且不可读. 仅强制sqlplus不包裹行是不够的.还有必要告诉查看器您使用查看假脱机文件而不是换行.如果你的观众少于-S你必须根据使用的选项 https://superuser.com/questions/272818/how-to-turn-off-word-wrap-in-less 在Unix / Linux上你可以使用head -1 output.txt来获取文件的第一行,所以检查这是否符合预期,或者你可以使用od -c output.txt | head 查看换行符实际放在输出文件中的位置. 如果您显示LONG列并且它们的值包含换行符,则将为这些列值打印多行,并且您不能使用sqlplus设置否决它. 以下sqlplus命令可能有用: > SET LINESIZE线条化线条的长度.在大多数情况下,linesize的最大值是32767.如果将LINESIZE设置为无效值并检查错误消息,则可以找到最大值 您必须使用COLUMN命令格式化单个列. 例如.列名格式a30将格式化输出中的列名称,最大长度为30个字符. 如果您希望显示大小不被修复,但它应该等于行中列的实际值的大小,那么我知道的唯一方法是更改??语句的select子句以获得所需的结果并使用该 select emp_id||' '||first_name||' '||last_name from emp; 有关所有变量的完整说明,请参见SQL*Plus User’s Guide and Reference. 如果要重用某些设置(或COLUMN定义),可以将它们存储在文件中,并在需要时再次运行此文件.如果启动sqlplus,您甚至可以自动运行此文件. (1)“如何找到LINESIZE最大值(它取决于系统)(Doc ID 1547262.1)” (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |