oracle使用临时变量
临时变量只在使用它的sql语句中有效,变量值不能保留,临时变量也称为替换变量。在sql语句中,如果在某个变量前面使用了&符号,那么久表示该变量是一个临时变量,执行sql语句时,系统会提示用户为该变量提供一个具体的数据。
例如,在sql*plus中执行以下的命令:
SQL> select * from dept where deptno>&temp;
输入 temp 的值: 30
原值 1: select * from dept where deptno>&temp
新值 1: select * from dept where deptno>30
DEPTNO DNAME LOC
---------- -------------- -------------
40 OPERATIONS BOSTON
SQL>
也可以使用多个的临时变量,事例如下:
SQL> select &column_name,dname,loc from dept where &column_name>20;
输入 column_name 的值: deptno
输入 column_name 的值: deptno
原值 1: select &column_name,dname,loc from dept where &column_name>20
新值 1: select deptno,dname,loc from dept where deptno>20
DEPTNO DNAME LOC
---------- -------------- -------------
30 SALES CHICAGO
40 OPERATIONS BOSTON
在sql语句中,如果希望重新使用某个变量并且不希望重新提示输入,可以使用&&符号来定义临时变量。如下:
SQL> select &&column_name,dname,loc from dept where &&column_name>10;
输入 column_name 的值: deptno
原值 1: select &&column_name,dname,loc from dept where &&column_name>10
新值 1: select deptno,dname,loc from dept where deptno>10
DEPTNO DNAME LOC
---------- -------------- -------------
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。