SQL*Plus常用环境变量配置

使用SQL*Plus的环境变量可以控制其运行环境,例如,设置行的显示高度、设置每页显示的行数、设置自动提交标注、设置自动跟踪等。使用show命令可以显示当前sql plus的环境变量设置。例如,为了显示sql plus的所有环境变量,可以使用show all命令。使用set命令可以修改当前sql plus的环境变量设置,下面以scott系统用户登录到数据库中,结合实例介绍一些常用的sql plus环境变量。

1、arraysize

该环境变量用于指定数组提取尺寸,其默认值是15。该值越大,网络开销将会降低,但其占用内存会增加。假设使用默认值,如果查询返回行数为50行,则需要通过网络传送4次数据;如果设置为25,则网络传送次数只有两次。例如:

SQL>show arraysize

arraysize 15

SQL>set arraysize 25

2、autocommit

该环境变量用于设置是否自动提交DML语句,其默认值为off(表示禁止自动提交)。当设置为on时,每次执行DML语句都会自动提交。例如:

SQL>show autocommit

autocommit off

SQL>set autocommit on

SQL>show autocommit

autocommit IMMEDIATE

3、colsep

该环境变量用于设置列之间的分隔符,默认分隔符为空格。如果要使用其他分隔符,则使用set命令进行设置。例如:

SQL>set colsep |

SQL>select ename, sal from emp where empno = 7788;

运行结果如下所示:

ENAME    |    SAL

-----------|-----------

SCOTT     |    3000

4、feedback

该环境变量用于指定显示反馈行数信息的最低行数,其默认值为6。如果要禁止显示行数反馈信息,则将feedback设置为off。假设只要有查询结果就返回行数,那么可以将该环境变量设置为1。例如:

SQL>set feedback 1

SQL>select ename, sal from where empno = 7788;

运行结果如下所示:

ENAME    |    SAL

-----------|-----------

SCOTT    |    3000

已选择1行。

5、heading

该环境变量用于设置是否显示标题,其默认值为on。如果不显示列标题,则设置为off。例如:

SQL>set heading off

SQL>select ename, sal from emp where empno = 7788;

运行结果如下所示:

SCOTT    |    3000

已选择1行。

6、linesize

该环境变量用于设置行宽度,默认值为80。在默认情况下,如果数据长度超过80个字符,那么在SQL*PLUS中会折行显示数据结果。要在一行中显示全部数据,应该设置更大的值。

7、pagesize

该环境变量用于设置每页所显示的行数,默认值为14。为了避免分页,可设定为0。

8、long

该环境变量用于设置long和lob类型列的显示长度,默认值是80。也就是说,当查询long或lob列时,只会显示该列的前80个字符,应该设置更大的值。

9、serveroutput

该环境变量用于控制服务器输出,其默认值为off,表示禁止服务器输出。在默认情况下,当调用dbms_output包时,不会在SQL*PLUS屏幕上显示输出结果。在调用dbms_output包时,为了在屏幕上输出结果,必须要将serveroutput设置为on。例如:

SQL>set serveroutput on

SQL>exec dbms_output.put_line('hello');

运行结果如下所示:

hello

PL/SQL过程已成功完成。

10、termout

该环境变量用于控制SQL脚本的输出,其默认值为on。当使用默认值时,如果SQL脚本有输出结果,则会在屏幕上显示输出结果;如果设置为off,则不会在屏幕上输出SQL脚本。

11、time

该环境变量用于设置在SQL提示符前是否显示系统时间,默认值为off,表示禁止显示系统时间。如果设置为on,则在SQL提示符前会显示系统时间。例如:

SQL>set time on

15:51:15 SQL>

12、timing

该环境变量用于设置是否显示SQL语句执行时间,默认值为off,表示不会显示SQL语句执行时间。如果设置为on,则会显示SQL语句执行时间。例如:

SQL>set timing on

SQL>select count(*) from emp;

运行结果如下所示:

14

已选择1行。

已用时间:00:00:00:00

13、trimspool

该环境变量用于设置是否移除重定向(spool)输出每行的尾部空格,其默认值为off,表示不移除空格。如果trimspool设置为on,将移除重定向(spool)输出每行的尾部空格,其默认值为off。trimout同trimspool功能相似,只不过对象是标准输出(即控制台),其默认值也是off。

需要注意的是,即使用SET命令修改了SQL*PLUS的环境变量,如果没有保存设置,在退出后重新进入SQL*Plus,将恢复oracle默认参数。这就需要使用SQL*Plus配置文件来保存这些设置。可以使用全局配置文件glogin.sql或用户配置文件login.sql。在运行SQL*Plus时,oracle会自动在$ORACLE_HOME/sqlplus/admin目录下读取glogin.sql并执行,然后根据SQLPATH参数的设置读取login.sql并执行。在用set命令设置完SQL*PLUS之后,可以使用“store set{login.sql的路径} append”语句将设置保存到login.sql中。

本文标题:SQL*Plus常用环境变量配置

本文链接:http://yedward.net/?id=127

本文版权归作者所有,欢迎转载,转载请以文字链接的形式注明文章出处。

相关文章