一般在SQL>下进行SQLPLUS 操作,都需要进行必要的环境设置才能完成我们所需要的输出。所有环境的设置由 SET命令加相应的环境变量来完成。下面是常用的环境设置: SET ARRAY[SIZE]{integer} 一次可以提取(Fetch)的行的数目,1->5000,当有较长字段时应设小些。 SET AUTO [COMMIT] { [ OFF | ON | IMM | n] } 用于在操作中是自动提交或是部分提交或是不自动提交。 1) 或IMM使得在完成每条SQL语句时将未提交的改变立刻提交给数据库系统。ON 2) 允许在用户发出COMMIT后,可以执行命令的数量(将n条SQL语句所做的改变进行提交)。N 3) 停止自动提交,用户必须用COMMIT命令才能被提交。OFF 可以设置 LINESIZE 环境变量来控制行的显示宽度,缺省是80个字符。 SET Lin[esize]{80|integer} Integer = 设置行宽度(字符个数),最大值999,如: SQL>set linesize 160 在缺省的SQL> 状态下,SQL>缓冲区用于显示LONG 的字节数只有80个字符。如果我们需要查询的列中含有 LONG类型的字段的话,就需要将LONG缓冲区设置大些。 SET LONG{80|integer} Integer 是 显示或拷贝long值的最大宽度, n=1->32767(但必须小于Maxdata值) SQL>show Maxdata (最大行宽) SQL>set long 2000 在缺省的SQL> 状态下,SQL>缓冲区显示页的行数是24行,其中22行显示数据,2行显示标题和横线。我们将pagesize 设置大些以减少提示标题和横线。 SET pag[esize] {24|integer} SQL>SET pagesize 66 可以设置 PAUSE 为ON 或OFF来控制屏幕显示。当设置为ON 时,在select 语句发出后需要按Enter键才能显示一屏。 SET PAUSE [ ON | OFF ] 提示:在发出select 语句并按Enter键后 还要再按Enter键才能显示结果. 可用 set space 来设置各列间的空格数,语法为: SET SPA[CE] {1|n} N为设置输出行列间的空格数,最大为10。 SQL>set space 2 建议:在一般情况下,不用设置space参数。 §2.5.8 Termout (启/停屏幕显示) TERMOUT用于设置在屏幕上显示或不显示所输出的信息。 SET TERMOUT { ON | OFF } set termout off set termout on set termout off 常用SPOOL XXX时,即关闭报表在屏幕上的显示(节省时间) set termout on 常用SPOOL off之后,即恢复报表在屏幕上的显示 可以用ECHO命令来显示或不显示所执行的SQL命令。语法如: SET ECHO{OFF|ON} 显示执行当中的各命令( 即用start 时) set echo 受到 set termout 的影响 set pagesize 100 set echo on select table_name from dict where rownum<20; select * from cat where rownum<30; set echo off --下面只显示结果不显示命令: select table_name from dict where rownum<20; select * from cat where rownum<30; §2.5.10 TRANSACTION (启动事务) 一个很重要的事务环境设置是TRANSACTION。它包括两个部分的内容: SET TRANSACTION { READ ONLY | USE ROLLBACK SEGMENT segment_name } READ ONLY 是用于保证读的一致性。即其他用户的修改不影响当前查询结果。 USE ROLLBACK SEGMENT segment_name 是为当前所处理的事务指定专门的回滚段。这主要是在进行大量的Insert 或Delete 或Update时,需要一个大的回滚段以保证事务正常完成。详细见数据库管理员。 可以用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 PREFORMAT OFF echo OFF editfile "afiedt.buf" embedded OFF escape OFF flagger OFF flush ON heading ON headsep "|" (hex 7c) instance "local" linesize 80 lno 14 loboffset 1 logsource "" long 80 longchunksize 80 newpage 1 null "" numformat "" numwidth 10 pagesize 14 PAUSE 为OFF pno 0 recsep WRAP recsepchar " " (hex 20) release 801070000 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" tab ON termout ON time OFF timing OFF trimout ON trimspool OFF ttitle OFF and 为下一条 SELECT 语句的前几个字符 underline "-" (hex 2d) USER 为"SYS" verify ON wrap : 行将为已换行 SQL> 你可以从上面的参数中看到其当前值,也可以修改某些参数的值。
|