通过再sqlplus 中使用 new_value,可以把从表中查询出来的值,放置到 变量中。
然后使用变量时,类似与宏定义一样,就可以像使用表中字段一样方便。
这使得sqlplus 的脚本具备和pl/sql 类似的能力,方便监控和诊断程序的编写。
下面是一个小例子,通过 new_value ,使得 查询出来的 opt_mode_val 的内容,直接赋予给了 my_opt_mode_val。
col opt_mode_val new_value my_opt_mode_val noprint
select
value opt_mode_val
from
v$parameter
where
name = 'optimizer_mode';
SQL> select 'The current optimizer mode is '||'&&my_opt_mode_val' from dual;
old 1: select 'The current optimizer mode is '||'&&my_opt_mode_val' from dual
new 1: select 'The current optimizer mode is '||'ALL_ROWS' from dual
'THECURRENTOPTIMIZERMODEIS'||'ALL_ROWS
--------------------------------------
The current optimizer mode is ALL_ROWS
SQL>