2018年8月6日15:11:34
Oracle数据库脚本中的set define off
前言
最近在公司写需求,接触到脚本,第一句set define off;
就不知道什么意思了,查询后记录之。
名称
SET DEFINE
概要
SET DEFINE命令改变标记替代变量的前缀字符。你可以使用SET DEFINE关闭替代变量。
语法
SET DEF[INE] {OFF | ON | prefix_char}
参数
- SET DEF[INE]
- 是一个命令,可以缩写为SET DEF。
- OFF
- 禁用替代变量。
- ON
- 启用替代变量,并重置替代前缀字符为默认`&`符号。默认情况下,替代变量是开启的。
- prefix_char
- 是新替代前缀字符
当你开启SQL*Plus
,替代变量会默认开启,且默认前缀字符是&
字符。如果你运行一个在文本字符串中使用了&
的脚本,你也许想改变这个前缀字符。如果你的脚本没有使用替代变量,你可以发现关闭这个功能非常容易。
例子
开启替代变量:
SQL> insert into customers (customer_name) values ('Marks & Spencers Ltd');
Enter value for spencers:
old 1: insert into customers (customer_name) values ('Marks & Spencers Ltd')
new 1: insert into customers (customer_name) values ('Marks Ltd')
1 row created.
SQL> select customer_name from customers;
CUSTOMER_NAME
------------------------------
Marks Ltd
禁用替代变量:
SQL> set define off
SQL> insert into customers (customer_name) values ('Marks & Spencers Ltd');
1 row created.
SQL> select customer_name from customers;
CUSTOMER_NAME
------------------------------
Marks & Spencers Ltd
上面的例子你需要customers表,但是有一个表是所有Oracle数据库都拥有的,没错就是dual。如果想了解dual,可以查看本人的文章select 1 from dual。
SQL> set define off;
SQL> select * from dual where dummy='&var';
no rows selected
SQL> set define on
SQL> /
Enter value for var: X
old 1: select * from dual where dummy='&var'
new 1: select * from dual where dummy='X'
D
-
X
总结
set define off;
的作用就是关闭替代变量,默认情况下是开启。
参考
SET-DEFINE - Oracle SQL*Plus
: The Definitive Guide, 2nd Edition by Jonathan Gennick
When or Why to use a “SET DEFINE OFF” in Oracle Database
2018年8月6日16:37:24
Oracle数据库脚本中的set define off的更多相关文章
-
让你提前认识软件开发(31):数据库脚本中的begin与end
版权声明:本文为博主原创文章.对文章内容有不论什么意见或建议,欢迎与作者单独交流.作者QQ(微信):245924426. https://blog.csdn.net/zhouzxi/article/d ...
-
oracle数据库表中,插入数据的时候如何产生一个 字母+数字 编号?
Oracle 语句中“||”代表什么啊? oracle数据库表中,插入数据的时候如何产生一个 字母+数字 编号? 排序的话,用order by来处理即可.比如:cola123a234b999b335s ...
-
oracle数据库存储过程中NO_DATA_FOUND不起作用解决
oracle数据库存储过程中NO_DATA_FOUND不起作用 1.首先创建一个表lengzijiantest,表中只有一个字段f_id ? 1 2 3 4 5 [cpp] CREATE TABLE ...
-
在oracle数据库表中没有添加rowid字段为什么会出现?
rowid 是 oracle 数据库表中的伪列, rowid 首先是一种数据类型,它唯一标识一条记录物理位置, 基于64位编码的18个字符显示.因为 rowid 是伪列, 所以并未真的存储在表中,但可 ...
-
Oracle 数据库表中已有重复数据添加唯一键(唯一约束)
Oracle 数据库表中已有重复数据添加唯一键(唯一约束) 问题描述 以 demo 举例,模拟真实场景. 表 TEST_TABLE 有如下字段和数据:id 是主键,code 没有设置键和索引 ID C ...
-
LoadRunner11_录制Oracle数据库脚本
[oracle环境] ①oracle:无需在本地安装oracle,但是oracle的odbc驱动一定要装:(我的安装路径为 D:\oracle ).安装好后在环境变量 " Path &quo ...
-
定时备份oracle数据库脚本文件
@echo off REM ########################################################### REM # Windows Server 2003下 ...
-
使用sqlldr命令导入资料到Oracle数据库表中的示例说明
CSV: Comma-Separated Values(逗号分隔值)的缩写,是以逗号分隔字段的多行文本文件 sqlldr 是sql*loader的缩写,此工具在安装完整版的Oracle客户端后就有 ...
-
针对Oracle数据库表中的数据的常见操作
1.查询表中所有数据 select * from 表名; 例:select * from stu; 2.查询的同时修改表中数据 select * from 表名 for update; 例:sele ...
随机推荐
-
【Java EE 学习 56】【酒店会员管理系统技术点总结】
一.树状菜单加载 这是js的一个典型应用,使用zTree插件能够完成该项任务http://www.ztree.me/v3/main.php 我是用的版本:zTree2.5 使用方法: <%@ p ...
-
mysql 源码包 有的版本 可能没有 CMakeCache.txt
如果没有CMakeCache.txt 文件编译的时候会报错!!找不到CMakeCache.txt
-
csdn搜索技巧
由于CSDN下载资源高级搜索,只能显示10页分页,所以我们换种方法去搜索csdn的资源. 第10页以后没了. 在百度框里面输入如下: jquery site:download.csdn.net 图:
-
NDK编译路径问题
有点偷懒,在一个使用了jni工程里面稍微修改一下,编译另外一个jni工程. 代码写完后,Android.mk等文件也写好,但是ndk-build的时候提示Android NDK:Your APP_BU ...
-
C#日期转换类
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Te ...
-
深入理解UITableView
基本介绍 UITableView有两种风格:UITableViewStylePlain和UITableViewStyleGrouped.这两者操作起来其实并没有本质区别,只是后者按分组样式显示前者按照 ...
-
vue-router 组件复用问题
组件系统是Vue的一个重要组成部分,它可以将一个复杂的页面抽象分解成许多小型.独立.可复用的组件,通过组合组件来组成应用程序,结合vue-router的路由功能将各个组件映射到相应的路由上,通过路由的 ...
-
discuz7.2 faq.php 注入漏洞分析
写在前面的话:分析完整个漏洞,不得不感叹,发现漏洞的人真的好细心呀. 在分析整个漏洞之前,没看poc,然后就直接看faq.php 准备试试自己发现漏洞的能力,但是分析完一整个php,也是卡在 in() ...
-
进程PCB
struct task_struct { volatile long state; //说明了该进程是否可以执行,还是可中断等信息 unsigned long flags; //Flage 是进程号, ...
-
Python开发——11.异常及异常处理
一.异常 1.定义 异常及时程序运行时发生错误的信号 2.种类 异常分为语法错误和逻辑错误,语法错误在程序执行之前就应该改正. 常用异常 AttributeError 试图访问一个对象没有的树形,比如 ...