oracle的输出显示(set用法、col设置格式化字段导致显示异常、屏幕输出保存到指定文件、清屏)
show all; //显示所有参数
一、set用法(可对参数进行设置)
1、set heading on|off; //设置是否显示列标题
(1)set heading on显示列标题
set heading on; show heading; select first_name,last_name,hire_date from employees;
(2)set heading off不显示列标题
set heading off; show heading; select first_name,last_name,hire_date from employees;
2、set newpage 1|n|none; //设置语句和结果之间的行数
(1)set newpage 1;设置语句和结果之间的行数为1
set heading on; //为方便查看显示还是把列标题设置成显示 set newpage 1; show newpage; select first_name,last_name,hire_date from employees;
(2)set newpage 3;设置语句和结果之间的行数为3
set newpage 3; show newpage; select first_name,last_name,hire_date from employees;
(3)set newpage none;设置语句和结果之间的没有间隔行数
set newpage none; show newpage; select first_name,last_name,hire_date from employees;
3、set feedback on|n|off; //设置输出数据集行数x,x>n时,结果集后面显示 x rows selected,如果不大于则不显示,n是feedback设置的值
(1)set feedback on; n默认为1
set feedback on; //n默认为1,当输出结果集行数x大于1时,就显示x rows selected show feedback; select first_name,last_name,hire_date from employees; //显示109 rows selected.
(2)set feedback 10;
set feedback 10; show feedback; select first_name,last_name,hire_date from employees where first_name='chenmu'; //不会显示 x rows selected
(3)set feedback off; //不用判断大小,直接不显示 x rows selected
set feedback off; show feedback; select first_name,last_name,hire_date from employees;
4、set pagesize n; //设置n行开始分页,列标题、分隔行--、数据、空行都算行
set pagesize 10; show pagesize; select first_name,last_name,hire_date from employees;
5、set linesize n; //设置一个行有多少字符
show linesize显示100表示一行最多容纳100个字符,如果超过了100就会换到下一行显示,这里没有超过100就没有换行显示
set linesize 80; show linesize; select employee_id,first_name,last_name,hire_date,job_id,salary,manager_id from employees;
6、set autotrace on|off设置查询语句除了显示结果集外还要显示其他的信息,autot[race]表示autotrace可以省略为autot
选项如下:
set autotrace {off|on|traceonly}[explain][statistics],autot是autotrace的缩写;trace是traceonly的缩写;
(1)set autot off表示不显示explain和statistics,只显示结果集
set autot off; show autot; select first_name,last_name,hire_date from employees;
(2)set autot on 显示结果集+explain+statistics,如果报 Cannot find the Session Identifier. Check PLUSTRACE role is enabled,是因为用户没有plustrace角色,要SYS用户授予; 如果执行grant plustrace to hr后出现 role 'PLUSTRACE' does not exist,是因为PLUSTRACE角色在数据库创建时并不会自动创建,这个角色需要手动通过运行plustrce.sql脚本来创建;执行$ORACLE_HOME/sqlplus/admin目录下plustrce.sql脚本
conn / as sysdba; @?/sqlplus/admin/plustrce.sql; grant plustrace to hr; conn hr/hr123; set autot on; select first_name,last_name,hire_date from employees;
(3)set autot on explain显示结果集+explain
set autot on explain; show autot; select first_name,last_name,hire_date from employees;
(4)set autot on statistics 显示结果集+statistics
set autot on statistics; show autot; select first_name,last_name,hire_date from employees;
(5)set autot trace显示explain和statistic,不显示sql结果集
set autot trace; show autot; //显示autotrace TRACEONLY EXPLAIN STATISTICS select first_name,last_name,hire_date from employees;
(6)set autot trace statistics 显示statistics
set autot trace statistics; show autot; select first_name,last_name,hire_date from employees;
(7)set autot trace explain 显示explain
set autot trace explain; show autot; select first_name,last_name,hire_date from employees;
二、col用法
col可以用来调整一个字段的显示宽度,如果一个字段宽度太长,导致一行不够显示完所有字符会导致显示到下一行;也可以调整字段名显示靠左还是靠右
select * from COUNTRIES;
第一列宽度不够字段名显示补全;第二列空余太多可以调整;调整第二列字段名显示靠中
1、col dname for a30; //将dname列显示的宽度调整为30,还要查看linesize值,看一行能显示多少字符。for是format的缩写。
col COUNTRY_ID for a10; col COUNTRY_NAME for a30; select * from COUNTRIES;
2、col dname just left|right|center; //将dname列靠左、右、中对齐,just是justify的缩写。
col COUNTRY_name just center; select * from COUNTRIES;
3、如果设置col之后可能导致显示异常,只需将格式化清除即可,即col employee_id clear,这是因为employee_id是number类型,col employee_id for a20就将其转为varchar类型,可以设置col employee_id for 999999999。
col employee_id for a20; select employee_id,first_name,last_name,manager_id from employees;
col employee_id clear; select employee_id,first_name,last_name,manager_id from employees;
三、将屏幕输出的内容保存到指定文件
spool /tmp/a.txt; select * from tab; spool off; ho cat /tem/a.txt; //ho/host是调用系统命令 spool /tmp/a.txt rep; //替换内容 spool /tmp/a.txt append; //增加内容
四、清理屏幕
cl[ear] scr[een]; //括号表示可缩写
在操作系统层面只需要clear
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示