oracle 的替代变量&和&&
2010-12-01 15:42:28| 分类: oracle管理 | 标签: |字号大中小 订阅
作者: 三十而立
时间:2009年9月07日 19:16:50
本文出自 “inthirties(三十而立)”博客,转载请务必注明作者和保留出处http://blog.csdn.net/inthirties/archive/2009/09/07/4528293.aspx
&是oracle里的替代变量。如果有一个&name,在sqlplus执行的时候,会提示你输入一个name对应的值。然后name的值会替代到sql里,这里是替代,不是参数绑定,所以可以替换sql中的静态部分,比如字段名,表名
&&也是替代变量,和&一样的功能,不过他是多次替代,下面的例子
&的用法
SQL> select &fieldname from dual;
输入 fieldname 的值: sysdate
原值 1: select &fieldname from dual
新值 1: select sysdate from dual
SYSDATE
--------------
07-9月 -09
当下一次执行select &fieldname from dual;继续提示你输入fieldname 的值:
&&的用法
SQL> select &&fieldname2 from dual;
输入 fieldname2 的值: sysdate
原值 1: select &&fieldname2 from dual
新值 1: select sysdate from dual
SYSDATE
--------------
07-9月 -09
第一次和&一样,当你第二次输入select &&fieldname2 from dual;
这时不需要再输入 fieldname2 的值:
就直接用上次的值了。因为fieldname2的值已经保存在session里了。
当你不想使用这个变量名的时候,
你可以用undefine 命令解除他
如下
SQL> undefine fieldname2;
再次输入
SQL> select &&fieldname2 from dual;
输入 fieldname2 的值:
又开始然你输入了,因为值已经清掉了。