是否可以在一个命令中设置多个系统变量?
例如将以下系统变量设置在一行中?
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,但没有看到这样做的示例。
答案 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
命令。