运行时参数
一、运行时参数的使用
sql语句中的值,我们可以使用一个参数来代替,然后每次运行的时候都可以重新输入这个值
例如:
select last_name,salary,dept_id from s_emp where id=&id;

如上图所示,使用了运行时参数&id,其中id为变量值,如果之前没有定义,则会像图中提示的进行提示,如果以前定义过,则会直接使用定义过的值(定义的方法在后面介绍)
select last_name,salary,dept_id from s_emp where last_name=&name;

select last_name,salary,dept_id from s_emp where last_name='&name';结果如下所示:

对于以上字符的输入时,请注意‘’单引号的区别,当sql语句中没有单引号时,则需要自己输入,如果有单引号,则不许再输入单引号,直接输入要查询的字符串即可
select last_name,salary,dept_id from s_emp where salary>&a and salary<&b;结果如下所示:

当然还能够进行直接输入表达式:
select last_name,salary,dept_id from s_emp where &con;

如上图就是直接填入salary>1200的表达式,当然还可以填入其它表达式,但是要注意的是,此事就不能够在后面再添加;号,否则会出现如下错误:

如下也是直接填入条件的演示
select last_name,salary,dept_id from s_emp &cons;结果如下图所示:

注意:&变量名 表示使用这个oracle定义的变量,如果这个变量之前没有定义过,那么这个时候会让你重写输入这个变量的值.如果之前有定义过,那么就是要之前定义过的值
二、运行时参数的定义
define undefine accept prompt命令
例如:
命令def可以定义一个变量
定义变量: def A=s_emp
查看定义的变量: def
取消定义的变量: undef A
注:s_emp是数据库中已经存在一张表,在这里定义了一个新的变量A,然后变量A之前定义过,那么这里会之前替换为之前定义的值
select id,last_name,salary from &A;

accept命令也可以定义一个变量,而且变量的值需要用户再次输入
例如:
accept A
回车之前需要用户再次输入变量A的值,之后可以使用def命令来查看刚刚定义的A变量
如下图所示,为使用accept命令定义变量,并且使用def进行查看变量:

prompt可以在用户输入的时候显示一个提示信息:
例如:
accept name prompt '请输入name变量的值: '

hide可以隐藏用户的输入内容不被看见
例如:
accept name prompt '请输入name变量的值: ' hide

注意:这些定义的都是临时变量,sqlplus退出后重新登录进来就没有了
















