执行ORACLE SQL时如何 忽略替换变量(转载)
你想在SQL*Plus里执行一个脚本,脚本里包含了一些看起来像替换变量的元素,但实际上你并不是想把它们当替换变量来处理。这时你想让解析器忽略它们而不是提示用户输入。
解决方案1
有一种解决方案就是在&字符前使用转义字符。转义字符可以告诉SQL*Plus不要把转义字符后面的内容当做变量引用来处理。
在下面的代码中,转义字符会让SQL*Plus在碰到字符串“& Receiving”时忽略其中的&字符,只把它当做普通的字符串处理:
解决方案2
另一个方案就是完全禁止替换变量特性,下面的例子中使用SET DEFINE OFF命令来告诉SQL*Plus忽略所有的替换变量:
原理分析
你常常会碰到需要告诉SQL*Plus忽略替换变量的情况。上面两个例子就是这种情况的两个不同解决方案。你可根据具体情况取舍。
通过SET ESCAPE命令设置转义字符,可以告诉SQL*Plus在所有的情况下都将这个特定的字符作为转义字符,这样一来,无论什么时候碰到这个字符,后面紧接着的字符就会被解析器忽略掉。这里所说的“忽略”指的是这个字符不会触发你所预期的那种常规功能,如提示用户输入数据。
使用SET DEFINE OFF命令会使所有的替换变量都被忽略掉。实际上,这种解决方案仅对替换变量起作用,在其他情况下并不会使解析器进行转义。因为这个方法只是转义替换变量,所以在运行脚本时比较适合使用。假设你有一个名字为display_department_info.sql的脚本,其中包含以下SQL:
如果你想通过SQL*Plus执行脚本,并且不使用本案例所提供的任何方案,那么,你就会看到下面的消息:
这段消息之所以出现是因为SQL*Plus把“Importing & Exporting”里的&符号当做替换变量处理了,所以会提示用户输入。现在,再执行一次相同的脚本,不同的是我们先运行SET DEFINE OFF命令:
使用SET DEFINE OFF之后的结果就是你希望得到的。
执行ORACLE SQL时如何 忽略替换变量(转载)的更多相关文章
- Oracle SQL调优之绑定变量用法简介
目录 一.SQL执行过程简介 二.绑定变量典型用法 2.1.在SQL中绑定变量 2.2.在PL/SQL中使用绑定变量 2.3.PL/SQL批量绑定变量 2.4.Java代码里使用绑定变量 最近在看&l ...
- 在 root 下执行 Oracle 程序时找不到 libclntsh.so.11.1 错误的解决办法。
在 root 下执行 Oracle 程序时找不到 libclntsh.so.11.1 错误的解决办法. 先确定 libclntsh.so.11.1 所在目录: [oracle@localhost ~] ...
- c#执行插入sql 时,报错:异常信息:超时时间已到。在操作完成之前超时时间已过或服务器未响应
问题:c#执行插入sql 时,报错:异常信息:超时时间已到.在操作完成之前超时时间已过或服务器未响应 解决: SqlCommand cmd = new SqlCommand(); cmd.Comman ...
- C# 执行oracle sql 语句出现中文不兼容的问题
最近我用C#调用 操作oracle 数据库 出现了一个问题就是 我的查询语中的条件语句 含有中文 字符在C#中查询不了 ,但是在pl sql 中能够正常的查询出来. 这个原因是 C# 执行orccl ...
- Sql server在使用sp_executesql @sql执行文本sql时,报错: Could not find database ID 16, name '16'. The database may be offline. Wait a few minutes and try again.
最近在公司项目中使用exec sp_executesql @sql执行一段文本sql的时候老是报错: Could not find database ID 16, name '16'. The dat ...
- .Net 执行 Oracle SQL语句时, 中文变问号
带中文的Sql语句在.Net调用时, 中文变问号(可使用 SQL Tracker工具跟踪) 问题: 服务器的字符集与客户端的字符集不一致. 解决方法: 1. 查看服务端的字符集: ...
- 转 SQL*PLUS中的替换变量(& &&)
今天oracle support提供一个脚本,大致如下: PROMPT ROUTING_SEQUENCE_ID = &ROUT_SEQ_ID PROMPT OPERATION_SEQUENCE ...
- 代码中批量执行Oracle SQL语句
今天在写一个工具(winform),作用是批量的INSERT OR UPDATE ORACLE数据库中的一个表. 执行的时候老是报错“[911] ORA-00911: invalid charact ...
- SHELL中执行Oracle SQL语句查询性能视图
数据库日志是否报错信息 vi check_log.sh #!/bin/bash # Created : 2019.10.10 # Updated : # Author : # Description ...
随机推荐
- preventDefault()对象
preventDefault() 方法 Event 对象 定义和用法 取消事件的默认动作. 语法 event.preventDefault() 说明 该方法将通知 Web 浏览器不要执行与事件关联的默 ...
- Nginx+ISS+Redis实现完美负载均衡
前篇文章讲到nginx是使网站采用分布式,对用户的请求采用分布式,分配到不同的服务器上,然后进行同一站点的访问,保证了访问的高效,使用率高,生命期长. 说到ISS,这里重点介绍tomcat,Tomca ...
- jzoj4916. 【GDOI2017模拟12.9】完全背包问题 (背包+最短路)
题面 题解 考场上蠢了--这么简单的东西都想不到-- 首先排序加去重. 先来考虑一下,形如 \[a_1x_1+a_2x_2+...a_nx_n=w,a_1<a_2<...<a_n,x ...
- CI框架源码学习笔记1——index.php
做php开发一年多了,陆陆续续用过tp/ci/yii框架,一直停留在只会使用的层面上,关于框架内部的结构实际上是不甚了解的.为了深入的学习,决定把CI框架的源码从头到尾的学习一下, 主要因为CI框架工 ...
- [转]关于TDD、BDD和DDD的一些看法
在实际的项目中,我们可能随时面对各种不同的需求,它的各个方面的要素决定了我们所采用的开发模式. 比如,它的复杂度如何?所有的需求是否足够清晰?开发人员对相关的业务是否足够了解?项目的工期是否合理?种种 ...
- 轻量级编辑器透彻指南--Notepad++
Notepad++是Windows环境下的一款编辑器.比起VSCode等现代编辑器,Notepad++同样具备很多功能.Notepad++一个特点就是轻巧,方便在Windows环境中使用,且编辑功能强 ...
- arcgis10.0直连sde
- 1.Tow Sum(两数和)
Level: Easy 题目描述: Given an array of integers, return indices of the two numbers such that they add ...
- 2019-5-1 maven学习笔记
一.maven的好处 同样的项目使用maven工程来实现,由于不需要导入很多jar包,源码很小 原理:根据坐标到项目的仓库里查找需要的依赖 二.安装步骤 1.到http://maven.apache. ...
- DataSet强类型、TableAdapter的使用
简答使用可以看https://www.cnblogs.com/namejr/p/10411920.html中的"先来简单介绍dataset和datatable" DataSet强类 ...