SQL*PLUS支持两种独立的类型:define和绑定变量。如果你想给define的变量赋值,可以使用define命令
SQL>define x='hello girl!'(等好后没有冒号)
而查看x的值,只需要
SQL>define x
define x = "hello girl!"(输出的时候为双引号)
要引用这个变量的时候,则需要使用'&'符号。如果变量值是字符型则需要加上引号,例如:
select '&x' from dual;
如果要使用绑定变量必须先声明变量,如:
SQL>variable x varchar(20)
SQL>begin
2 :x:='hi girl!';
3 end;
4 /
PL/SQL procedure successfully completed
SQL>print :x
x
hi girl!
但请注意的是在使用绑定变量的时候变量前面需要加冒号!
两种变量,一种是定义的,一种是声明的,通过下面的例子进行比较:
SQL>select :x,'&x' from dual;
old 1:select :x,'&x' from dual
new1:select :x,'hello girl!' from dual
:x 'hellogirl
hi girl! hello girl!