转 SQL*PLUS中的替换变量(& &&)
PROMPT ROUTING_SEQUENCE_ID = &ROUT_SEQ_ID
PROMPT OPERATION_SEQUENCE_ID = &OP_SEQ_ID
PROMPT RESOURCE_SEQ_NUM = &RES_SEQ_NUM
PROMPT RESOURCE_ID = &RES_ID
SELECT
SCHEDULE_SEQ_NUM SSN,
BASIS_TYPE BT,
UOM_CODE UC,
PRINCIPAL_FLAG PF
FROM
MRP_AP_OPERATION_RESOURCES_V
WHERE
ROUTING_SEQUENCE_ID = &ROUT_SEQ_ID AND
OPERATION_SEQUENCE_ID = &OP_SEQ_ID AND
--RESOURCE_ID = &RES_ID --AND
RESOURCE_SEQ_NUM = &RES_SEQ_NUM;
SELECT
SCHEDULE_SEQ_NUM SSN,
BASIS_TYPE BT,
UOM_CODE UC,
PRINCIPAL_FLAG PF
FROM
MRP_AP_OPERATION_RESOURCES_V
WHERE
--ROUTING_SEQUENCE_ID = &ROUT_SEQ_ID AND
--OPERATION_SEQUENCE_ID = &OP_SEQ_ID AND
RESOURCE_ID = &RES_ID AND
RESOURCE_SEQ_NUM = &RES_SEQ_NUM;
SELECT
SCHEDULE_SEQ_NUM SSN,
BASIS_TYPE BT,
UOM_CODE UC,
PRINCIPAL_FLAG PF
FROM
MRP_AP_OPERATION_RESOURCES_V
WHERE
ROUTING_SEQUENCE_ID = &ROUT_SEQ_ID AND
OPERATION_SEQUENCE_ID = &OP_SEQ_ID AND
RESOURCE_ID = &RES_ID;
--AND RESOURCE_SEQ_NUM = &RES_SEQ_NUM
SELECT
SCHEDULE_SEQ_NUM,
NVL(ALTERNATE_NUMBER ,
0) ALT_NUM ,
RESOURCE_SEQ_NUM
FROM
MRP_AP_OPERATION_RESOURCES_V
WHERE
ROUTING_SEQUENCE_ID = &ROUT_SEQ_ID AND
OPERATION_SEQUENCE_ID = &OP_SEQ_ID AND
RESOURCE_ID = &RES_ID;
SELECT
SCHEDULE_SEQ_NUM,
RESOURCE_SEQ_NUM,
SCHEDULE_FLAG
FROM
BOM_OPERATION_RESOURCES
WHERE
RESOURCE_ID = (&RES_ID/2) AND
OPERATION_SEQUENCE_ID = (&OP_SEQ_ID/2);
SELECT
REPLACEMENT_GROUP_NUM,
SCHEDULE_SEQ_NUM,
SCHEDULE_FLAG,
SUBSTITUTE_GROUP_NUM
FROM
BOM_SUB_OPERATION_RESOURCES
WHERE
RESOURCE_ID = (&RES_ID/2) AND
OPERATION_SEQUENCE_ID = (&OP_SEQ_ID/2);
我运行的时候发现输入四个变量后,在紧跟着的每个select中还要再次输入,很麻烦。后来查了一下资料知道了&与&&的区别。在这里做个小记录:
&:引用的变量只存在当前的语句中。举例如下:
SQL> select 1+&var from dual;
Enter value for var: 1
old 1: select 1+&var from dual
new 1: select 1+1 from dual
1+1
----------
2
SQL> / --重复执行需要重新输入变量var的值。
Enter value for var: 2
old 1: select 1+&var from dual
new 1: select 1+2 from dual
1+2
----------
3
&&:引用的变量存在于当前的sesion。举例如下:
SQL> select 1+&&var from dual;
Enter value for var: 1
old 1: select 1+&&var from dual
new 1: select 1+1 from dual
1+1
----------
2
SQL> /
old 1: select 1+&&var from dual
new 1: select 1+1 from dual
1+1
----------
2
SQL> select 100+&var from dual;
old 1: select 100+&var from dual
new 1: select 100+1 from dual
100+1
----------
101
所以我只要在前面的变量前加一个&就使它的作用范围变成session级的了。如下:
PROMPT ROUTING_SEQUENCE_ID = &&ROUT_SEQ_ID
PROMPT OPERATION_SEQUENCE_ID = &&OP_SEQ_ID
PROMPT RESOURCE_SEQ_NUM = &&RES_SEQ_NUM
PROMPT RESOURCE_ID = &&RES_ID
转 SQL*PLUS中的替换变量(& &&)的更多相关文章
- 【RMAN】RMAN脚本中使用替换变量
[RMAN]RMAN脚本中使用替换变量--windows 下rman全备脚本 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也 ...
- 在SQL存储过程中给条件变量加上单引号
在SQL存储过程中给条件变量加上单引号,不加语句就会出问题,以下就是在存储过程中将条件where设置成了动态变化的,给where赋完值再和前面的语句拼接,再execute(SQL) ), )), )+ ...
- sql 语句中定义的变量不能和 sql关键字冲突
sql 语句中定义的变量不能和 sql关键字冲突 from bs_email_account account LEFT JOIN bs_group_info gp ON account.group_i ...
- 执行ORACLE SQL时如何 忽略替换变量(转载)
你想在SQL*Plus里执行一个脚本,脚本里包含了一些看起来像替换变量的元素,但实际上你并不是想把它们当替换变量来处理.这时你想让解析器忽略它们而不是提示用户输入.解决方案1有一种解决方案就是在&am ...
- 在sql语句中添加php变量
在sql语句中使用{}将php变量扩起来,php就会解析{}中的内容. //案件统计 function getCount($dsql,$tableName,$year){ //诉讼案件总数,总金额 $ ...
- SQL Server中批量替换数据
SQL Server数据库中批量替换数据的方法 SQL Server数据库操作中,我们可能会根据某写需要去批量替换数据,那么如何批量修改替换数据呢?本文我们就介绍这一部分内容,接下来就让我们一起来了解 ...
- SQL SERVER中LIKE使用变量类型不同输出结果不一致解惑
一同事在写脚本时,遇到一个关于LIKE里面使用不同的变量类型导致查询结果不一致的问题,因为这个问题被不同的人问过好几次,索性总结一下,免得每次都要解释一遍,直接丢一篇博客岂不是更方便!其实看似有点让人 ...
- SQL SERVER中LIKE使用变量类型输出结果不同
前言:Sql Server中LIKE里面使用不同的变量类型导致查询结果不一致的问题,其实看似有点让人不解的现象背后实质跟数据类型的实现有关. 一.我们先来创建示例演示具体操作 CREATE TABLE ...
- mysql :SQL语句中的替换函数replace
replace() 用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式. 语法 REPLACE ( 'string_expression1' , 'string_expressio ...
随机推荐
- Python中的列表,元组,字符串之间的相互转化
Python中的列表元组和字符串之间的相互转化需要利用,tuple(),list(),str(). 示例如下: >>> the_string = "hello I'am x ...
- git clone新项目后如何拉取其他分支代码到本地
1.git clone git@git.n.xxx.com:xxx/xxx.git 2.git fetch origin dev 命令来把远程dev分支拉到本地 - - 解读:git fetch命令用 ...
- 【iOS系列】-iOS中内存管理
iOS中创建对象的步骤: 1,分配内存空间,存储对象 2,初始化成员变量 3,返回对象的指针地址 第一:非ARC机制: 1,对象在创建完成的同时,内部会自动创建一个引用计数器,是系统用来判断是否回收对 ...
- 设置ArcGIS的数据源
我从别的地方拿到一份现成的地图文档(*.mxd),在该服务器上运行得好地地,图文并茂,但用我自己机器的arcMap打开就一片空白,啥都没有. 看左边的各个图层目录,图标上都有个粉红色的惊叹号,醒悟过来 ...
- 第一个get请求的爬虫程序
一:urllib库: urllib是Python自带的一个用于爬虫的库,器主要作用就是可以通过代码模拟浏览器发送请求.其被用到子模块在Python3中的urllib.request和urllib.pa ...
- Django模板语言(二)
1,装饰器:在不改变原函数的调用方式情况下为原函数增加一些功能(遵循开放封闭的原则) def outter(fn): def inner(*args, **kwargs): # 可以在执行函数前执行一 ...
- S2SH的集成(Struts2,Spring,Hibernate)----青软S2SH(笔记)
- 5.2【Linux 内核网络协议栈源码剖析】socket 函数剖析 ☆☆☆
深度剖析网络协议栈中的 socket 函数,可以说是把前面介绍的串联起来,将网络协议栈各层关联起来. 应用层 FTP SMTP HTTP ... 传输层 TCP UDP 网络层 IP ICMP ARP ...
- RK3288以太网的mac地址调试笔记【学习笔记】【原创】
平台信息:内核:linux3.1.0系统:android/android6.0平台:RK3288 作者:庄泽彬(欢迎转载,请注明作者) 邮箱:2760715357@qq.com 说明:提供以太网mac ...
- usdt源码编译安装
1.依赖关系Boost >= 1.53 2.安装依赖包You will need appropriate libraries to run Omni Core on Unix, please s ...