一般在SQL>下进行SQLPLUS 操作,都需要进行必要的环境设置才能完成我们所需要的输出。所有环境的设置由SET命令加相应的环境变量来完成。下面是常用的环境设置:
1. ARRAYSIZE(取回的行数)
SET ARRAY[SIZE]{integer}
一次可以提取(Fetch)的行的数目,1->5000,当有较长字段时应设小些。
2. AUTOCOMMIT(自动提交)
SET AUTO [COMMIT] { [OFF | ON |
IMM | n] }
用于在操作中是自动提交或是部分提交或是不自动提交。
1)ON或IMM使得在完成每条SQL语句时将未提交的改变立刻提交给数据库系统。
2)N 允许在用户发出COMMIT后,可以执行命令的数量(将n条SQL语句所做的改变进行提交)。
3)OFF 停止自动提交,用户必须用COMMIT命令才能被提交。
3. LINESIZE(行显示宽度)
可以设置LINESIZE 环境变量来控制行的显示宽度,缺省是80个字符。
SET Lin[esize]{80|integer}
Integer = 设置行宽度(字符个数),最大值999,如:
SQL>set linesize 160
4. PAGESIZE(页行数)
在缺省的SQL> 状态下,SQL>缓冲区显示页的行数是24行,其中22行显示数据,2行显示标题和横线。我们将pagesize 设置大些以减少提示标题和横线。如果设置为0 全部显示
SET pag[esize] {24|integer}
SQL>SET pagesize 66
5. PAUSE(暂停)
可以设置 PAUSE 为ON或OFF来控制屏幕显示。当设置为ON 时,在select 语句发出后需要按Enter键才能显示一屏。
SET
PAUSE [ ON | OFF ]
SQL> set pauseon
提示:在发出select语句并按Enter键后
还要再按Enter键才能显示结果.
6. PACE(列间空格)
可用 setspace 来设置各列间的空格数,语法为:
SET
SPA[CE] {1|n}
N为设置输出行列间的空格数,最大为10。
SQL>set space 2
建议:在一般情况下,不用设置space参数。
7. Termout (启/停屏幕显示)
TERMOUT用于设置在屏幕上显示或不显示所输出的信息。OCM认证
SET
TERMOUT { ON | OFF }
set termout off
set termout on
set termout off常用SPOOL XXX时,即关闭报表在屏幕上的显示(节省时间)
set termout on常用SPOOL off之后,即恢复报表在屏幕上的显示
8. ECHO (启/停命令显示)
可以用ECHO命令来显示或不显示所执行的SQL命令。语法如:
SET ECHO{OFF|ON}
显示执行当中的各命令(即用start
时)
set echo受到set termout
的影响
set
pagesize 100
set
echo on
select table_name from dict whererownum<20;
select * from cat where rownum<30;
set
echo off
--下面只显示结果不显示命令:
select table_name from dict whererownum<20;
select * from cat where rownum<30;
9. SHOW ALL(列出所有参数)
可以用SHOW ALL 来显示当前的所有参数情况。它的用法很简单。比如:
SQL> show all
appinfo为ON并且已设置为"SQL*Plus"
arraysize 15
autocommit OFF
autoprint OFF
autorecovery OFF
autotrace OFF
blockterminator "." (hex
2e)
btitle OFF and
为下一条SELECT 语句的前几个字符
cmdsep OFF
colsep " "
compatibility version
NATIVE
concat "." (hex
2e)
copycommit 0
COPYTYPECHECK
为 ON
define "&" (hex
26)
describe DEPTH 1 LINENUM OFF
INDENT ON
markup HTML OFF SPOOL OFF
ENTMAP ON PREFORMATOFF
echoOFF
editfile
"afiedt.buf"
embedded OFF
escape OFF
flagger OFF
flush ON
heading ON
headsep "|" (hex
7c)
instance "local"
linesize 80
lno14
loboffset 1
logsource ""
long80
longchunksize 80
newpage 1
null""
numformat ""
numwidth 10
pagesize 14
PAUSE 为OFF
pno0
recsep WRAP
recsepchar " " (hex
20)
release
repfooter OFF and
为 NULL
repheader OFF and
为 NULL
serveroutput OFF
shiftinout
INVISIBLE
showmode OFF
spool OFF
sqlblanklines OFF
sqlcase MIXED
sqlcode 0
sqlcontinue ">
"
sqlnumber ON
sqlprefix "#" (hex
23)
sqlprompt "SQL>
"
sqlterminator ";" (hex
3b)
suffix "sql"
tabON
termout ON
timeOFF
timing OFF
trimout ON
trimspool OFF
ttitle OFF and
为下一条SELECT 语句的前几个字符
underline "-" (hex
2d)
USER 为"SYS"
verify ON
wrap: 行将为已换行
SQL>
你可以从上面的参数中看到其当前值,也可以修改某些参数的值。