SQL-plus中有两种类型的变量:替换和绑定。
这是替换(替换变量可以替换SQL * Plus命令选项或其他硬编码文本):
define a = 1;
select &a from dual;
undefine a;
这是绑定(绑定变量存储在RDBMS中执行的SQL和PL / SQL语句的数据值;它们可以保存单个值或完整的结果集):
var x number;
exec :x := 10;
select :x from dual;
exec select count(*) into :x from dual;
exec print x;
SQL Developer支持替换变量,但是当您使用绑定:var语法执行查询时,系统会提示您进行绑定(在对话框中)。
参考:
http://www.oracle.com/technetwork/testcontent/sub-var-087723.html SQL * Plus替代变量,Christopher Jones,2004年
使用UPDATE 替换变量有点棘手,请看:
define phone = '+38097666666';
select &phone from dual; -- plus is stripped as it is number
select '&phone' from dual; -- plus is preserved as it is string