sqlplus命令行工具格式化命令
工作中经常遇到没有sqplus developer等第三方sql工具,必须使用sqlplus直接在服务器上查询的情况。
例如要查看系统参数sga值;
得到执行结果如下:
[gysy01@oracle]/oracle>sqlplus “/as sysdba”
SQL*Plus: Release 11.1.0.7.0 - Production on 星期四 2月 17 17:35:16 2011
Copyright (c) 1982, 2008, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
SQL> show parameter sga;
NAME TYPE
-—————————————————- ———————————
VALUE
-——————————————-
lock_sga boolean
FALSE
pre_page_sga boolean
FALSE
sga_max_size big integer
4G
sga_target big integer
3G
SQL>
可以看到串行问题,很严重,这时候就需要设置行字符数了。下面是修改参数结果。
SQL> set linesize 1000
SQL> show parameter sga;
NAME TYPE VALUE
-—————————————————- ——————————— ———————————————
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 4G
sga_target big integer 3G
SQL>
下面是一些常用的参数说明,用的比较多的是linesize,pagesize,rowwidth三个参数。
SQL>set colsep’ ‘; //-域输出分隔符
SQL>set echo off; //显示start启动的脚本中的每个sql命令,缺省为on
SQL> set echo on //设置运行命令是是否显示语句
SQL> set feedback on; //设置显示“已选择XX行”
SQL>set feedback off; //回显本次sql命令处理的记录条数,缺省为on
SQL>set heading off; //输出域标题,缺省为on
SQL>set pagesize 0; //输出每页行数,缺省为24,为了避免分页,可设定为0。
SQL>set linesize 80; //输出一行字符个数,缺省为80
SQL>set numwidth 12; //输出number类型域长度,缺省为10
SQL>set termout off; //显示脚本中的命令的执行结果,缺省为on
SQL>set trimout on; //去除标准输出每行的拖尾空格,缺省为off
SQL>set trimspool on; //去除重定向(spool)输出每行的拖尾空格,缺省为off
SQL>set serveroutput on; //设置允许显示输出类似dbms_output
SQL> set timing on; //设置显示“已用时间:XXXX”
SQL> set autotrace on-; //设置允许对执行的sql进行分析
set verify off //可以关闭和打开提示确认信息old 1和new 1的显示.
导出结果到文本:
spool
例如:spool d:\Spool_flatquery.txt
这样,SQL*Plus将把所有的输出以及在屏幕上的命令等都指定给该文件。
执行查询输出。此时,系统并没有把结果保存到文件中,而是保存到缓冲区中。
查询结束后,关闭文件即可。命令格式为:spool off。
还没有评论,来说两句吧...