Oracle设置了多个系统变量

时间:2014-06-24 13:57:57

标签: oracle sqlplus

是否可以在一个命令中设置多个系统变量?

例如将以下系统变量设置在一行中?

SET COLSEP '    '
SET ECHO OFF
SET FEEDBACK OFF
SET HEADING OFF
SET LINESIZE 10000
SET NEWPAGE NONE
SET TRIMSPOOL ON

已查看http://docs.oracle.com/cd/B19306_01/server.102/b14357/ch12040.htm#i2699283,但没有看到这样做的示例。

1 个答案:

答案 0 :(得分:6)

Is it possible to set multiple system variables in a single command?

是的,你可以。只需使用space作为前一个变量的新值和下一个变量名称之间的分隔符,指定变量名称/值对。这是一个例子:

/* display variables' current values */
SQL> show colsep echo feedback heading linesize

colsep " "
echo OFF
FEEDBACK ON for 6 or more rows
heading ON
linesize 80

/* Assign new values */
SQL> set colsep "|" echo on echo on feedback off heading off linesize 1000;

/* Make sure changes are in effect */
SQL> show colsep echo feedback heading linesize

colsep "|"
echo ON
feedback OFF
heading OFF
linesize 1000


SQL> spool off;

注意:当系统变量的数量超过几个时,这种方法将大大降低可读性。因此,最好将每个变量/值对专用于SET命令。