替换变量与绑定变量:

SQL> define x='abc'                   --定义变量

SQL> define x

DEFINE X       = "abc" (CHAR)


SQL> select '&x' from dual; --查询替换变量值

old   1: select '&x' from dual

new   1: select 'abc' from dual


'AB

---

abc


SQL> variable x varchar2(10)                --声明变量

SQL> begin

  2  :x :='hello';

  3  end;

  4  /


PL/SQL procedure successfully completed.


SQL> print :x                          --打印绑定变量值


X

--------------------------------

hello


SQL> select :x, '&x' from dual;        --查询绑定变量与替换变量值

old   1: select :x, '&x' from dual

new   1: select :x, 'abc' from dual


:X 'AB

-------------------------------- ---

hello abc


注:DEFINE的变量总是被SQL*Plus扩展的字符串,而DECLARE变量可以被SQL和PL/SQL作为真正的绑定变量使用。