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

 

posted @ 2022-05-20 17:05  微风徐徐$  阅读(2251)  评论(0编辑  收藏  举报