Oracle入门(十三A1)之替换变量,变量名,变量名

转载自 Oracle中的替换变量,&变量名,&&变量名

替换变量(仅用于SQL *Plus或者用于原理和SQL *Plus相同的开发工具):
临时存储值
利用它可以达到创建通用脚本的目的
利用它可以达到和用户交互,故在SQL *Plus中又称交互式命令

替换变量的格式式在变量名称前加一个&,以便在运行SQL命令时提示用户输入替换数据,然后按输入数据运行SQL命令
语法:
(1)& :“&变量名”eg:&name;
生命周期:单次引用中,不需要声明,如果替换字符或日期类型,最好用单引号扩起
使用范围:where、order by、列表达式、表名、整个SELECT 语句中

(2)&& :“&&变量名”eg:&&name;
生命周期:整个会话(session连接),不需要声明

(3)define :“define 变量名=变量值”eg:DEFINE a = clark;
生命周期:整个会话,预先声明,使用时用&引用声明的变量
define variable=用户创建的CHAR类型的值:define 变量名=值;
define 变量名:查看变量命令。 
undefine 变量名:清除变量
define:查看在当前会话中所有的替换变量和它们的值

(4)accept

生命周期:整个会话
预先声明,可以客户化提示信息,使用时用&引用声明的变量。
定义:
accept 变量名name number/char/date prompt '提示信息内容'即:ACC[EPT] variable [NUM[BER] | CHAR | DATE] [FOR[MAT] format] [DEF[AULT] default] [PROMPT text | NOPR[OMPT]] [HIDE]
解释:
PROMPT命令:用于输出提示用户的信息,以便使用户了解脚本文件的功能和运行情况
PAUSE命令:用于暂停脚本文件的运行
HIDE选项:用于隐藏用户的输入,使别人不可见,安全
这条命令的意思是:当plsql程序段执行到变量name的时候,此时需要用户的交互才能继续执行下去,plsql程序段会显示“提示信息内容”让用户输入相关信息(如果指定hide选项,那么在接下去用户输入的东西将被用星号显示出来增加安全,有点像输入密码),用户输入的内容被接收到并且把它付给name,关于在“提示信息内容”下用户输入的内容的类型,plsql程序段开发人员来通过number/char/date指定,变量name得到正确的值以后,继续执行相关下面的程序!
例:accept a char prompt '请输入员工的雇佣时间(yyyy-mm-dd):' hide 
例:accept a char prompt 'input a:' hide

verify:是否给出原值及新值提示。

set verify on/off;

具体请参看下面的例子:

plsql程序1:

declare  v_sal number(6,2);  v_ename emp.ename%type:='&ename';  
begin  select sal into v_sal from emp  
where lower(ename)=lower(v_ename);  
if v_sal<2000 then  update emp set sal=v_sal + 200  where lower(ename)=lower(v_ename);  
end if;  
end;  /  

plsql程序2:

declare  v_sal number(6,2);  v_ename emp.ename%type:='&&ename';  
begin  select sal into v_sal from emp  
where lower(ename)=lower(v_ename);  
if v_sal<2000 then  update emp set sal=v_sal + 200  where lower(ename)=lower(v_ename);  
end if;  
end;  /  

secureCRT的一个会话中先执行程序2,再次执行程序1,会发现直接PL/SQL procedure successfully completed.
而不让我输入ename,将set verify off也不行
另一个打开会话 将set verify off后,每次执行程序1都会让你输入ename。
这就是在前面一个会话执行程序2的时候已经将ename,保存为了会话的变量,而不是plsql程序的变量。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/329444.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

常用API接口签名验证参考

项目中常用的API接口签名验证方法&#xff1a; 1. 给app分配对应的key、secret2. Sign签名&#xff0c;调用API 时需要对请求参数进行签名验证&#xff0c;签名方式如下&#xff1a;  a. 按照请求参数名称将所有请求参数按照字母先后顺序排序得到&#xff1a;keyvaluekeyvalu…

19.段页结合的实际内存管理

【README】 1.本文内容总结自 B站 《操作系统-哈工大李治军老师》&#xff0c;内容非常棒&#xff0c;墙裂推荐&#xff1b; 2.段与页 段&#xff1a; 用户程序采用分段结构&#xff1b;页&#xff1a; 操作系统采用分页机制管理物理内存&#xff1b;段页结合&#xff1a;程…

python中变量怎么定义_python中的变量的使用定义以及使用规则

本篇包括14章内容&#xff0c;系统介绍了Python语言的基础知识。内容包括Python基础语法、数据类型和类型转换、运算符、流程控制(分支结构循环结构)、数据结构(列表生成式)、函数的定义及使用、异常处理、迭代器生成器、偏函数、python中的模块和包、python标准内置库os以及使…

Oracle入门(十二G)之序列

序列&#xff08;SEQUENCE&#xff09;序列是一数据库对象&#xff0c;利用它可生成唯一的整数。由于它属于可共享对象&#xff0c;所以允许多个用户访问。一般情况下&#xff0c;序列用于创建主键值。 序列号的存储和生成与表无关。因此&#xff0c;同一序列可以用于多个表。 …

20.内存换入-请求调页

【README】 1.本文内容总结自 B站 《操作系统-哈工大李治军老师》&#xff0c;内容非常棒&#xff0c;墙裂推荐&#xff1b; 2.操作系统关于内存管理的核心是基于虚拟内存的分段和分页管理&#xff1b; 3.而用内存换入和换出实现虚拟内存 &#xff1b; 【1】虚拟内存 1&…

机器人点焊枪接线_用于焊接机器人焊枪工具点及工件坐标系标定装置及方法与流程...

本发明属于机器人焊接技术领域&#xff0c;涉及一种用于焊接机器人焊枪工具点及工件坐标系标定的装置及方法。背景技术&#xff1a;工业机器人是实施自动化生产线、工业4.0、智能制造车间、数字化工厂、智能工厂的重要基础装备之一。而据不完全统计&#xff0c;全世界在役的工业…

采用EntityFramework.Extended 对EF进行扩展(Entity Framework 延伸系列2)

前言 今天我们来讲讲EntityFramework.Extended 首先科普一下这个EntityFramework.Extended是什么,如下: 这是一个对Entity Framework进行扩展的类库. 完全支持EF 5.0/6.0&#xff0c; GitHub地址 https://github.com/loresoft/EntityFramework.Extended&#xff0c; 最后一次更…

Oracle入门(十二J)之同义词

转载自 oracle同义词 一、创建同义词 --普通用法 create [or replace] [public] synonym [schema.] 同义词名称 for [schema.] object [dblink];--创建专有&#xff08;私有&#xff09;同义词 create synonym sysn_test for test;--创建公共同义词 create public synonym publ…

21.内存换出

【README】 1.本文内容总结自 B站 《操作系统-哈工大李治军老师》&#xff0c;内容非常棒&#xff0c;墙裂推荐&#xff1b; 2.有内存换入就有内存换出。 3.因为物理内存空间有限&#xff0c;n次&#xff08;第n页&#xff09;换入后导致物理内存用完&#xff0c;则n1次&…

antd vue表单上传文件_vue+axios+antD的上传图片踩坑

一开始使用了实验室大佬封装的axios结合formData进行图片上传&#xff0c;然而传递给后台的formData是空的,打印出来的form又确实是存在的&#xff0c;百度搜了一大推&#xff0c;于是借鉴了百度的做法。1.引入axios import axios from ‘axios‘;2.创建一个新的axios,const …

移动web开发调试工具AlloyLever介绍

简介 web调试有几个非常频繁的刚需&#xff1a;看log、看error、看AJAX发包与回包。其他的如timeline和cookie以及localstorage就不是那么频繁&#xff0c;但是AlloyLever都支持。如你所见&#xff1a; 特征 点击alloylever按钮之间切换显示或隐藏工具面板Console会输出所有用户…

Oracle入门(十三A2)之单行函数

一、函数介绍 功能&#xff1a;改变数据输出形式或进行数据运算输出二、单行函数函数格式 函数说明abs(n) 返回n的绝对值floor(n) 返回小于等于n的最大整数ln(n) 返回n的自然对数&#xff…

22.IO与显示器

【README】 1.本文内容总结自 B站 《操作系统-哈工大李治军老师》&#xff0c;内容非常棒&#xff0c;墙裂推荐&#xff1b; 2.显示器是输入型外设&#xff1b; 3.本章主要内容是讲 显示器是如何被驱动的&#xff1b;或操作系统是如何让用户来使用显示器的&#xff1b; 4.Pri…

d3 i5 神舟精盾k480n_神舟精盾k480n i5 d3和精盾i5 d1哪个好?

(这是D3的数据)主板芯片组IntelHM76CPU系列英特尔酷睿i53代系列CPU型号Intel酷睿i53210MCPU主频2.5GHz最高睿频3100MHz总线规格DMI5GT/s三级缓存3MB核心类型IvyBridge核心/线程数双核...(这是D3的数据)主板芯片组Intel HM76CPU系列英特尔 酷睿i5 3代系列CPU型号Intel 酷睿i5 32…

[开源 .NET 跨平台 数据采集 爬虫框架: DotnetSpider] [一] 初衷与架构设计

一 &#xff0c;为什么要造轮子 有兴趣的同学可以去各大招聘网站看一下爬虫工程师的要求&#xff0c;大多是JAVA&#xff0c;PYTHON甚至于还有NODEJS&#xff0c;C&#xff0c;再或者在开源中国查询C#的爬虫&#xff0c;仅有几个非常简单或是几年没有更新的项目。从我看的一些文…

Oracle入门(十三B)之高级查询(上)

下章&#xff1a;Oracle入门&#xff08;十三C&#xff09;之高级查询&#xff08;下&#xff09; 一、多表格查询 &#xff08;1&#xff09;定义将两个或两个以上的表格&#xff0c;按照一定的关系连接起来进行查询。&#xff08;2&#xff09;多表格查询分类 连接查询嵌套查…

23.键盘

【README】 1.本文内容总结自 B站 《操作系统-哈工大李治军老师》&#xff0c;内容非常棒&#xff0c;墙裂推荐&#xff1b; 2.键盘 是输出型外设&#xff1b; 【1】外设工作原理 【图解】外设工作原理&#xff1a; 步骤1&#xff1a;Cpu向外设控制器发出指令&#xff08;如…

like左匹配索引失效_Mysql索引失效的情况

一、前提条件1、创建三张测试表&#xff1a;DROP TABLE IF EXISTS user;CREATE TABLE user (idint(11) NOT NULL,name varchar(25) DEFAULT NULL,ageint(11) NOT NULL DEFAULT 0,update_time datetime DEFAULT NULL,first_name varchar(25) DEFAULT NULL,last_name varchar(25)…

基于DDDLite的权限管理OpenAuth.net 1.0版正式发布

距离上一篇OpenAuth.net的文章已经有5个多月了&#xff0c;在这段时间里项目得到了很多朋友的认可&#xff0c;开源中国上面的Star数接近300&#xff0c;于是坚定了我做下去的信心。最近稍微清闲点&#xff0c;正式推出1.0版&#xff0c;并在阿里云上部署了一个在线演示&#x…

24.原生磁盘的使用

【README】 1.本文内容总结自 B站 《操作系统-哈工大李治军老师》&#xff0c;内容非常棒&#xff0c;墙裂推荐&#xff1b; 2.磁盘操作抽象 第1层抽象&#xff1a;通过盘块号读写磁盘&#xff08;或逻辑盘块号&#xff09;&#xff1b;第2层抽象&#xff1a;用队列缓存多个…