解决每次从cmd进入sqlplus,都得重新设置pagesize、linesize的问题

时间:2021-11-04 10:57:37

https://blog.csdn.net/u012127798/article/details/34146143/

Oracle里的set零零碎碎的,这里整理归纳一下

SQL> set timing on;          //设置显示“已用时间:XXXX”

SQL> set autotrace on-;    //设置允许对执行的sql进行分析

SQL> set trimout on; //去除标准输出每行的拖尾空格,缺省为off

SQL> set trimspool on; //去除重定向(spool)输出每行的拖尾空格,缺省为off

SQL> set echo on               //设置运行命令是是否显示语句

SQL> set echo off; //显示start启动的脚本中的每个sql命令,缺省为on

SQL> set feedback on;       //设置显示“已选择XX行”

SQL> set feedback off;      //回显本次sql命令处理的记录条数,缺省为on

SQL> set colsep' '; //输出分隔符

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 serveroutput on;  //设置允许显示输出类似dbms_output

SQL> set verify off                     //可以关闭和打开提示确认信息old 1和new 1的显示.

备注 一下是column命令

COL[UMN] [{column | expr} [option...] ]

where option is one of the following clauses:

ALI[AS] alias

CLE[AR]

ENTMAP {ON|OFF}

FOLD_A[FTER]

FOLD_B[EFORE]

FOR[MAT] format

HEA[DING] text

JUS[TIFY] {L[EFT] | C[ENTER] | C[ENTRE] | R[IGHT]}

LIKE {expr | alias}

NEWL[INE]

NEW_V[ALUE] variable

NOPRI[NT] | PRI[NT]

NUL[L] text

OLD_V[ALUE] variable

ON|OFF

WRA[PPED] | WOR[D_WRAPPED] | TRU[NCATED]

下面就举例说明:

SQL> COLUMN SAL ALIAS Salary FORMAT $99,990.90

我们指定了SAL这个列的一个别名和数字的MONEY显示格式。

SQL> col title format a20;

 那就是每次进入sqlplus都得重新设置linesize和pagesize

找到你的oracle路径:

C:\app\Administrator\product\11.2.0\dbhome_1\sqlplus\admin

打开glogin.sql,添加下面两行:

--
-- Copyright (c) 1988, 2005, Oracle. All Rights Reserved.
--
-- NAME
-- glogin.sql
--
-- DESCRIPTION
-- SQL*Plus global login "site profile" file
--
-- Add any SQL*Plus commands here that are to be executed when a
-- user starts SQL*Plus, or uses the SQL*Plus CONNECT command.
--
-- USAGE
-- This script is automatically run
--
SET PAGESIZE 39 SET LINESIZE 80 SET TIMING ON

当然,你可以从上面的注释中看到这个sql文件主要是干嘛的。

保存,提示一下,如果不能保存的话,是因为你没有这个文件的编辑权限,请添加:

在 \product\11.1.0\db_1\sqlplus\admin 下的 glogin.sql 文件就是每次启动sql*plus都会重新读取执行一遍的设置文档,

初次打开只有注释,无设置项,可以直接在注释后新行写入:

SET PAGESIZE 39;

SET LINESIZE 80;

SET TIMING ON;

我入门不久,就觉得这三个环境设置由用而已哈,其他自己找啊。

http://f.dataguru.cn/thread-90440-1-1.html

2. 设置行的宽度
1) 查看目前的linesize,默认是80:
Sqlplus代码
show linesize;
2) 设置成100或者更宽都可以:
Sqlplus代码
set linesize 300;

查看Oracle环境变量的方法是:
以命令行形式使用SQL *PLUS时,操作步骤如下:
cmd
sqlplus /nolog
conn / as sysdba
show all即可看到所有环境变量的默认值。
或输入show line命令,显示结果为:linesize 80。
执行set line 100后,再show line,则显示结果为:linesize 100

set wrap on/off 查询返回的纪录每行超过默认宽度时,可选择换行(on )或不换行(off),默认为换行;
set linesize N 设置查询返回的纪录每行的宽度,超过这个宽度则截掉,不过这个宽度则补空格。