首页 > 代码库 > Oracle指定运行变量

Oracle指定运行变量

1定义:运行时变量可以让我们和sql语句之间有个交互,允许我们执行sql语句时动态传递参数

    2.语法:

&varName

    3.运行时变量可以出现在任意位置

例如:

   select &colName1,&colName2

   from &tbName

   where &colname = &colValue;

   

   例如:

select id,last_name

from s_emp

where id = &id;

 

运行时,服务器会提示:

输入 id 的值:

当输入完成按下回车:

原值    3: where id = &id

新值    3: where id = 2

   

   例如:

    select id,last_name

from s_emp

where last_name = ‘&name‘;

   

   

note:  

s1.&代表取值。&varName,代表取varName这个变量的值,如果这个变量值,之前不存在,那么系统会提示输入这个变量的值。如果存在,直接取值。

2.set verify on ,打开交互提示,如果打开,会显示oldnew value。现在默认都是打开的。使用set verify off,关闭。

 

    4.定义变量:

  define[def] varName = value;

  查看定义的变量:

define[def] [varName];

  取消定义:

undefine/undef  varName;

例如:

1. define name=zhangsan

定义一个变量名字为name,值为zhangsan

运行select语句时,如果语句中遇到&name会自动替换为zhangsan

例如:

   select id,last_name

   from s_emp

   where last_name=‘&name‘;

2.def/define  : 查看当前环境中定义的所有变量

3.def/define name : 查看变量name的值。

如果不想在select语句中&name的外边使用‘‘,则可以在定义变量name时写成define name=‘‘‘zhangsan‘‘‘;‘可以用来转义’

   5.使用accept用来定义带数据类型和提示符的变量

accept varName : 代表定义一个变量名字为varName,当按下回车时需要用户输入值。

accept varName dataType : 代表定义一个带数据类型的变量

例如:accept varNum number :代表定义一个变量名字为varNum,类型为Number,当输入类型不是数字类型是报错,提示继续输入。

prompt:当输入变量时,给用户的提示信息。

accept myNum number prompt 区域id

定义一个Number类型的变量myNum,当按下回车时提示区域id

accept nyName char prompt 名字:

 

如果希望插入的值是隐藏的,可以在后边写上HIDE

accept num number prompt 密码: HIDE

   6.取消变量的定义

undefine varName;

   7.向脚本文件传递参数

在文件中参数使用&n(n代表数字)来表示取第几个参数值,然后再调用文件执行的时候使用

@file val....(多个参数值使用空格分开。)

Oracle指定运行变量