Oracle设置了多个系统变量

use*_*943 3 oracle sqlplus

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

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

SET COLSEP '    '
SET ECHO OFF
SET FEEDBACK OFF
SET HEADING OFF
SET LINESIZE 10000
SET NEWPAGE NONE
SET TRIMSPOOL ON
Run Code Online (Sandbox Code Playgroud)

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

Nic*_*nov 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;
Run Code Online (Sandbox Code Playgroud)

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