Set系统变量一览表,简单叙述功能,使用方法(3)
这是第三部分,全部完毕
set editfile file_name
设定edit默认情况下使用的文件名,文件名的长度和操作系统允许值相同
set escape {|c|off|on}
当需要用到的字符和设定的引用define变量的字符一样时使用,例如:
wupei@PYE.US.ORACLE.COM> spool c:a.txt
wupei@PYE.US.ORACLE.COM> show define
define "&" (hex 26)
wupei@PYE.US.ORACLE.COM> define pye=1
wupei@PYE.US.ORACLE.COM> set escape on;
原值: escape OFF
新值: escape "" (hex 5c)
wupei@PYE.US.ORACLE.COM> select * from t1 where id='&pye';
未选定行
已用时间: 00: 00: 00.03
这里oracle并没有解释&pye为1,而是将’&’作为字符串的一部分来检索。
set feedback{n|off|on}
关于显示执行结果的选项,大家可以试试看。
set flagger {off|entry|intermediate|full}
判断命令是否符合ANSI/ISO SQL92标准,和alter session set flagger=full命令相同
wupei@PYE.US.ORACLE.COM> set flagger full;
原值: flagger OFF
新值: flagger FULL
wupei@PYE.US.ORACLE.COM> connect hr/pyepye@vmlinux
WARNING:
Oracle SQL 特征不位于 SQL92 Full层。
已连接。
wupei@PYE.US.ORACLE.COM> set flagger off;
原值: flagger FULL
新值: flagger OFF
wupei@PYE.US.ORACLE.COM> connect hr/pyepye@vmlinux
已连接。
同使用alter session来设定是一样的
wupei@PYE.US.ORACLE.COM> show flagger;
flagger OFF
wupei@PYE.US.ORACLE.COM> alter session set flagger=full;
会话已更改。
已用时间: 00: 00: 00.00
wupei@PYE.US.ORACLE.COM> show flagger;
flagger FULL
wupei@PYE.US.ORACLE.COM>
set flush {off|on}
设定向用户显示设备输出数据的开关。设为OFF则缓存在操作系统的buffer中,设定为ON则操作系统无法缓存。一般在非对话形式或者使用command file,不需要确认输出结果是设定为关闭。设定为OFF也可以减少I/O发生,提高性能。
set sqlcontinue {>|text}
设定sql语句的换行连接字符
set sqlnumber {off|on}
在sqlplus中输入多行sql语句时显示行号
set pause {off|on|text}
当显示的数据行数超过pagesize指定数值是暂停
set sqlcase {mixed|lower|upper}
设定sql语句中’’号之间的字符自动转换,mixed为保持输入的形态,lower为自动转换为小写,upper为自动转换为大写,如下:
wupei@PYE.US.ORACLE.COM> show sqlcase
sqlcase LOWER
wupei@PYE.US.ORACLE.COM> select * from t1;
ID NAME DATA
---------- -------------------- ----------------------
1 1 123,456,789,123.12300
2 123,456,789,123.12300
4 4 123,456,789,123.12300
5 5 123,456,789,123.12300
6 6 123.00000
wu pei 123,456,789,123.12300
已选择6行。
已用时间: 00: 00: 00.00
wupei@PYE.US.ORACLE.COM> select * from t1 where id='WU';
ID NAME DATA
---------- -------------------- ----------------------
wu pei 123,456,789,123.12300
已选择 1 行。
已用时间: 00: 00: 00.00
可以看到,就算指定的字符为大写的’WU’,系统仍然自动转换成为小写的’wu’来进行匹配
set sqlpre[fix] {#|c}
前接在sql文之前的字符,代表sql语句,例如:
wupei@PYE.US.ORACLE.COM> show sqlprefix
sqlprefix "#" (hex 23)
wupei@PYE.US.ORACLE.COM> #select * from t1;
ID NAME DATA
---------- -------------------- ----------------------
1 1 123,456,789,123.12300
2 123,456,789,123.12300
4 4 123,456,789,123.12300
5 5 123,456,789,123.12300
6 6 123.00000
wu pei 123,456,789,123.12300
已选择6行。
已用时间: 00: 00: 00.00
wupei@PYE.US.ORACLE.COM> set sqlprefix /
原值: sqlprefix "#" (hex 23)
新值: sqlprefix "/" (hex 2f)
wupei@PYE.US.ORACLE.COM> #select * from t1;
SP2-0734: 未知的命令开头 "#select * ..." - 忽略了剩余的行
wupei@PYE.US.ORACLE.COM> /select * from t1;
ID NAME DATA
---------- -------------------- ----------------------
1 1 123,456,789,123.12300
2 123,456,789,123.12300
4 4 123,456,789,123.12300
5 5 123,456,789,123.12300
6 6 123.00000
wu pei 123,456,789,123.12300
已选择6行。
已用时间: 00: 00: 00.00
这里可以看到更改了sqlprefix变量以后只能用/来作为sql语句的起始
set sqlprompt {sql>|text}
设置sql的操作提示符,就是命令输入时光标位置左边的,类似于:
wupei@PYE.US.ORACLE.COM>
set sqlterminator {;|c|off|on}
表示sql语句输入结束的标志,默认是分号;。
接下去的基本都是关于格式化sqlplus输出的系统变量,也不难,大家稍微敲几个命令试试看就能很清楚的知道具体的作用。(完)
set heading {off|on}
set headsep {空格| c | off | on }
set linesize {80|n}
set long {80|n}
set longchunksize {80|on}
set maxdata n
set newpage {1|n}
set null text
set numformat format
set numwidth {10|n}
set pagesize {24|n}
set recsep {wr[append]|each|off}
set recsepchar {空格|c}
set serveroutput {off|on} [size n]
set showmode {off|on}
set suffix {sql|text}
set tab {off|on}
set termout {off|on}
set time {off|on}
set timing {off|on}
set trimout {off|on}
set trimspool{on|off}
set underline {-|c|on|off}
set verify {off|on}
set wrap {off|on}