‘&&’指示SQL* Plus保留该变量的值并在每次看到该变量时使用相同的值。 如果您使用了一个‘&’符号,每次脚本中出现替换变量时,SQL* Plus都会提示您输入值。
例:
example0.sql内容:
select &value0 from &value1 where object_name='&&value2';
select &value0 from &value1 where object_name='&&value2';
运行及输入:
SQL> @/home/oracle/example0.sql
Enter value for value0: reason
Enter value for value1: dba_alert_history
Enter value for value2: TBSALERT
old 1: select &value0 from &value1 where object_name='&&value2'
new 1: select reason from dba_alert_history where object_name='TBSALERT'
REASON
--------------------------------------------------------------------------------
Threshold is updated on metrics "Tablespace Space Usage"
Tablespace [TBSALERT] is [30 percent] full
Enter value for value0: resolution
Enter value for value1: dba_alert_history #相同的值用‘&’也需要再次输入
#用‘&&’则不需要
old 1: select &value0 from &value1 where object_name='&&value2'
new 1: select resolution from dba_alert_history where object_name='TBSALERT'
RESOLUT
-------
cleared
‘&&’定义的变量输入值后,会保持到会话结束。