前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >oracle基础|指定运行时变量

oracle基础|指定运行时变量

作者头像
小小鱼儿小小林
发布2021-12-28 10:27:38
3870
发布2021-12-28 10:27:38
举报
文章被收录于专栏:灵儿的笔记

目录

一、定义

二、语法

三、运行时变量可以出现在任意位置

四、具体说明

理论

实操:

1. define name=zhangsan

2.def/define:

3.def/define name:

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

5.取消变量的定义

6.向脚本文件传递参数


一、定义

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

二、语法

&varName

三、运行时变量可以出现在任意位置

例如:

代码语言:javascript
复制
select &colName1,&colName2
from &tbName
where &colname = &colValue;

例如:

代码语言:javascript
复制
select id,last_name
from s_emp
where id = &id;

以上 运行时,服务器会提示:输入 id 的值: 当输入完成按下回车: 原值 3: where id = &id 新值 3: where id = 2

四、具体说明

理论

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

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

3.定义变量:define[def] varName = value; 查看定义的变量:define[def] [varName]; 取消定义:undefine/undef varName;

实操:

1. define name=zhangsan

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

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

例如:

代码语言:javascript
复制
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''';

‘可以用来转义’

例如:

代码语言:javascript
复制
select id,last_name
from s_emp
where last_name = '&name';

小提示:

define name='Smith' 或者 define name=Smith 这两者都可以,使用&name的时候,取的都是Smith, 所以当我们定义完成后,使用select查询时候 如果是 select id,last_name from s_emp where last_name='&name'; 会成功 但是 where last_name=&name;就会出错。 所以我们定义的时候,一个定义成 define name='''Smith''' 第一个单引号代表字符单引号, 第二个单引号代表转义 后面的字符

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

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

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

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

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

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

如果希望插入的值是隐藏的,可以在后边写上HIDE:accept num number prompt 密码:空格 HIDE

5.取消变量的定义

undefine varName; 例如: undefine id 取消id 的定义

6.向脚本文件传递参数

在文件中参数使用&n(n代表数字)来表示取第几个参数值,然后再调用文件执行的时候使用 @file val....(多个参数值使用空格分开。)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/12/26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、定义
  • 二、语法
  • 三、运行时变量可以出现在任意位置
  • 四、具体说明
    • 理论
      • 实操:
        • 1. define name=zhangsan
        • 2.def/define:
        • 3.def/define name:
        • 4.使用accept用来定义带数据类型和提示符的变量
        • 5.取消变量的定义
        • 6.向脚本文件传递参数
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档