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 ,打开交互提示,如果打开,会显示old和new 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....(多个参数值使用空格分开。)

时间: 2024-10-06 06:45:54

Oracle指定运行变量的相关文章

oracle = : := 和变量绑定 oracle通配符和运算符

这篇是7788凑的:":="是赋值语句 如: l_name :='sky';..."=" 是判断是否相等. 如: if 1=1 then...":" 是变量绑定 如: if :P_NAME ='sky' then... 变量绑定 是指在sql语句的条件中使用变量而不是常量.比如shared pool里有两条sql语句,select * from tab1 where col1=1;select * from tab1 where col1=2;对

oracle Plsql 运行update或者delete时卡死问题解决的方法

oracle Plsql 运行update或者delete时 遇到过Plsql卡死问题或者导致代码运行sql的时候就卡死. 在开发中遇到此问题的时候,本来把sql复制出来,在plsql中运行,Sql本身拼写无误,可是出现plsql卡死的情况, 在代码中,运行sql的地方打断点debug,发现运行sql,仍然没有响应.经过网上查资料,推測导致这样的情况的原因是 可能在PLSQL Developer运行update时没有commit,oracle将该条记录锁住了. 能够通过下面办法解决: 先查询锁定

Oracle DBA的神器: PRM恢复工具,可脱离Oracle软件运行,直接读取Oracle数据文件中的数据

PRM 全称为ParnassusData Recovery Manager ,由 诗檀软件自主研发,拥有独立的软件著作权. PRM可以独立于Oracle软件运行,直接从Oracle数据文件中抽取表上的数据. 当以下几种场景中,都可以用上PRM: 无备份或者备份不可用情况下,数据表被意外truncate掉或者DROP掉 由于数据库损坏,导致的数据打不开 无法OPEN 数据块存在损坏,Oracle无法读取出数据 数据文件存在损坏,或者数据文件头信息不一致 等等 以上这些问题中,用户均可以考虑使用PR

查询Oracle正在运行SQL的SQL命令

查询Oracle正在运行SQL的SQL命令: select a.EVENT, a.SQL_ID, a.MACHINE, b.SQL_TEXT, b.SQL_FULLTEXT,b.FIRST_LOAD_TIME,b.LAST_LOAD_TIME,b.LAST_ACTIVE_TIME from v$session a, v$sql b where a.SQL_ID = b.SQL_ID and a.USERNAME is not null and a.STATUS = 'ACTIVE'

Oracle 过程中变量赋值

? 1 2 3 4 5 6 7 8 9 10 create or replace function get_sal1(id employees.employee_id%type)   return number is   sal employees.salary%type; begin   sal := 0;   select salary into sal from employees where employee_id = id;   return sal; end; ? 1 2 3 4 5

TensorFlow如何通过tf.device函数来指定运行每一个操作的设备?

TensorFlow程序可以通过tf.device函数来指定运行每一个操作的设备. 这个设备可以是本地的CPU或者GPU,也可以是某一台远程的服务器. TensorFlow会给每一个可用的设备一个名称,tf.device函数可以通过设备的名称,来指定执行运算的设备.比如CPU在TensorFlow中的名称为/cpu:0. 在默认情况下,即使机器有多个CPU,TensorFlow也不会区分它们,所有的CPU都使用/cpu:0作为名称. –而一台机器上不同GPU的名称是不同的,第n个GPU在Tens

.NET指定运行时查找程序集的位置

有两种方法用来指定程序集的位置: 使用 <codeBase> 元素. 使用 <probing> 元素. 还可以使用 .NET Framework 配置工具 (Mscorcfg.msc) 来指定程序集位置或者为公共语言运行库指定要探测程序集的位置. 使用 <codeBase> 元素 只有在计算机配置文件或也重定向程序集版本的发行者策略文件中,才可以使用 <codeBase> 元素.在运行库确定要使用哪一程序集版本时,它应用确定版本的文件中的基本代码设置.如果未

转: gcc 指定运行时动态库路径

gcc 指定运行时动态库路径 Leave a reply 由于种种原因,Linux 下写 c 代码时要用到一些外部库(不属于标准C的库),可是由于没有权限,无法将这写库安装到系统目录,只好安装用户目录下如 /home/youname/lib,可是怎么编译才能让程序正常编译,并且正常运行呢.这样使用gcc:gcc -I/path/to/include/dir -L/path/to/lib/dir -llibname -Wl,-rpath,/path/to/lib/dir -o test test.

【Oracle】详解Oracle中NLS_LANG变量的使用

目录结构: contents structure [-] 关于NLS_LANG参数 NSL_LANG常用的值 在MS-DOS模式和Batch模式中设置NLS_LANG 注册表中NLS_LANG和系统环境变量中的NLS_LANG 参考文章 1,关于NLS_LANG参数 Oracle provides Globalization Support that enables users to interact with a database in their own language, as defin