继上一篇博客Oracle绑定变量学习笔记,再写一篇define变量的简单教程
@
1、define常量用法
注意:define常被误解为定义变量,其实不然,define定义的是字符常量,define定义一下常量,然后用&或者&&符号进行引用
环境准备,先建表来实验:
create table t as select * from dba_object;
define一个常量a,然后直接查询用&符号表示
SQL> define a =1;
SQL> select * from t where object_id=&a;
2、&和&&符号用法
- &符号和&&符号区别
引用define定义的常量,有两种方法,一直是用&符号,另外一种是用&&符号,其实两者功能是一样的,主要区别是&替换常量一次后,下次调用还是用输入的,而&&替换常量一次后,下次调用就不用输入了,我这里说的替换常量是在不用define的情况,下面举例说明,读者自己实践一下,就明白了
这里不用define定义常量,直接用&和&&符号
SQL> select * from t where object_id = &b;
如图,会提示你输入值
再次调用,还是会提示输入值:
select * from t where object_id = &&b;
第一次输入会提示:
第二次输入直接打印出来,不需要输入:
- define字符类型的常量
如果define定义的字符类型的常量,引用时候要加上单引号
select * from t where object_name = '&a';