sqlplus常见命令

set heading off——不显示每行的列名
set echo off——不重复显示所要执行的sql语句
set line 200——设置每行显示200字符
set pages 0——不进行分页显示
set feed off——不显示sql语句的运行结果(selected N rows)


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 wrap off ;   //设置当行长度超过linesize时,是否截断显示。set setwrap off ,截断,set wrao on 分行显示
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_flat_file>
例如:spool d:\Spool_flatquery.txt
这样,SQL*Plus将把所有的输出以及在屏幕上的命令等都指定给该文件。 
执行查询输出。此时,系统并没有把结果保存到文件中,而是保存到缓冲区中。

查询结束后,关闭文件即可。命令格式为:spool off。

-----------------------------------------------------------我是分割线-------------------------------------------------------------

基本的SqlPlus命令

命令 说明
remark 注释
set headsep 标题换行
ttitle 设置输出页的头标题
btitle 设置输出页的尾标题
column 对sql语句中的列进行格式化处理
break on 通知sqlplus在输出结果中插入空格
compute sum 通知sqlplus计算小计
set linesize(line) 设置sqlplus输出的最大行宽 --
set pagesize 设置页面的最大行数
set newpage 设置页面之间的空行数
spool sqlplus屏幕的文件输入输出命令

注释,同remark
-- 双杠,注释,同remark
set pause sqlplus屏幕输出结果时在页面之间停顿
save 保存当前session最近的sql语句至指定的文件中
host 返回到操作系统环境,类似!
start或@ 执行文件中的命令
edit 使用自定义的编辑器编辑指定文件
define_editor 自定义sqlplus里的编辑器
exit或quit 退出sqlplus

 

column

column是sqlplus里最实用的一个命令,很多时候sql语句输出的列宽度不合适而影响查看,都需要用到这个命令来更改select语句中指定列的宽度和标题。大部分时候,我们可以简写column为col即可,主要有以下两种用法:

  • 修改列宽度
         column c1 format a20           --将列c1(字符型)显示最大宽度调整为20个字符
         column c1 format 9999999  --将列c1(num型)显示最大宽度调整为7个字符
  • 修改列标题
         column c1 heading c2       --将c1的列名输出为c2

示例如下:

未修改前的默认设置输出:
SQL> select a.FILE_NAME,a.TABLESPACE_NAME,b.CURRENT_SCN from DBA_DATA_FILES a ,v$database b where a.TABLESPACE_NAME='USERS'; FILE_NAME --------------------------------------------------------------------------- TABLESPACE_NAME CURRENT_SCN ------------------------------ ----------- +DATAGRP/db/datafile/users.259.686941969 USERS 7.3498E+10 修改后的输出结果: SQL> col FILE_NAME for a45 --定义FILE_NAME列最大显示45个字符 SQL> col TABLESPACE_NAME for a10 --定义该列最大显示10个字符 SQL> col CURRENT_SCN for 999999999999 --定义该列最长显示12个数字 SQL> col TABLESPACE_NAME heading 'TBS_NAME' --定义该列输出标题为"TBS_NAME” SQL> / FILE_NAME TBS_NAME CURRENT_SCN --------------------------------------------- ---------- ------------- +DATAGRP/db/datafile/users.259.686941969 USERS 73497663251 SQL>

 


SQL> show sga


Total System Global Area 4198564584

bytes


Fixed Size                    746216

bytes


Variable Size             2013265920

bytes


Database Buffers          2181038080

bytes


Redo Buffers                 3514368


bytes


SQL> set line 100

SQL> show sga


Total System Global Area  4198564584 bytes

Fixed Size                         746216        bytes

Variable Size                     2013265920 bytes

Database Buffers              2181038080 bytes

Redo Buffers                    3514368       bytes

SQL>


这样结果显示就不会换行了。



posted @ 2014-11-01 14:30  明月镇魂  阅读(959)  评论(0编辑  收藏  举报