2014-06-24 125 views
2

是否可以在一個命令中設置多個系統變量?Oracle設置了多個系統變量

例如,在一行中設置下面的系統變量?

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

不,你不能那樣做。 – OldProgrammer

+0

顯然你可以。 – user3636943

+0

今天學到了新東西! – OldProgrammer

回答

4

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

是的,你可以。只需使用空格作爲前一個變量的新值與下一個變量名稱之間的分隔符來指定變量名稱/值對。這裏有一個例子:

/* 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命令。