最近在使用ORACLE数据库插入数据的时候发现了一个问题,插入数据中包含“&”符号在PL sql中提示要输入代替的VALUE值。导致无法成功插入数据。经网上查找了下我问题解决了,做了简单的总结。
在SQL*Plus中默认的"&"表示替代变量,也就是说,只要在命令中出现该符号,SQL*Plus就会要你输入替代值。这就意味着你无法将一个含有该符号的字符串输入数据库或赋给变量,如字符串“SQL&Plus”系统会理解为以“SQL”打头的字符串,它会提示你输入替代变量 Plus的值,如果你输入ABC,则最终字符串转化为“SQLABC”。
set define off 则关闭该功能,“&”将作为普通字符,如上例,最终字符就为“SQL&Plus”。
set define off 关闭替代变量功能;
set define on 开启替代变量功能;
set define * 将默认替代变量标志符该为“*”(也可以设为其它字符)。
以上是说明,现在将使用sql plus连接数据库 用户名/密码@库名称 在执行 set define off. 就可以将.sql文件数据导入数据库,输入 @c:\xxx.sql 回车键
执行完毕后在输入 commit命令提交后才生效否则是无法查询插入的数据。
分享到:
相关推荐
`set define &`可以开启或关闭变量替换,`&`符号在SQL*Plus中通常用于变量引用,关闭后可以作为普通字符处理。 10. **控制输出颜色**: SQL*Plus支持颜色输出,如`set termout color`,但具体颜色设置需结合终端...
Linux默认使用UTF-8作为系统编码,而SQL*Plus则可能根据Oracle数据库的字符集进行显示。如果两者不一致,就可能出现乱码现象。 1. **检查数据库字符集** 使用`SELECT * FROM v$nls_parameters WHERE parameter ...
主机域名,基于PHP+MySQL开发的Sofee米表程序_sofeedomainnameportfo,内含完整源代码,数据库脚本 Sofee米表程序是一套基于PHP+SQLite开发的WEB应用程序,用于域名投资者更好的管理自己的域名列表。 支持中英文...
在终止字符之后的所有字符都将被视为变量的一部分,除非设置为OFF。 7. **COPYCOMMIT** - 默认值:0 - 可选值:n - 描述:设置复制命令时自动提交的次数。默认情况下不进行自动提交。 8. **DEFINE** - ...
在日常的数据库管理与开发工作中,经常需要执行大量的SQL脚本或调用多个存储过程。对于Oracle数据库而言,PL/SQL是一种非常强大的工具,它不仅可以用于编写复杂的数据库应用程序,还能够方便地进行SQL脚本的批量执行...
在Oracle数据库中,有时我们需要插入包含特殊字符的数据,如URL中的`&`和文本中的单引号`'`。这些字符在SQL语句中具有特定含义,因此直接插入可能会导致语法错误或解析问题。本文将详细介绍如何处理和插入这些特殊...
- **作用**:设置在显示结果时是否暂停,默认为 OFF(不停顿)。 - **示例**: ```sql SQL> set pause on; ``` - **命令**: `set arraysize 1` - **作用**:设置每次从数据库读取的最大记录数,默认为 15。 ...
`#`符号在宏定义中起到字符串化的作用,即它会将其后面紧跟的第一个参数转换为一个字符串常量。这对于在宏定义中需要生成包含变量名的字符串非常有用。 **示例1**: ```cpp #define strcopy__(dst, src) strcopy...
标题《数据库工作经验总结》和描述“完全源于...从文档中提供的内容来看,这是作者在实际工作中积累的一系列实用SQL命令和数据库操作技巧的总结,对于数据库管理员来说,这些经验是管理Oracle数据库时的宝贵参考。
1. **关闭变量替换功能**:使用`SET DEFINE OFF`命令可以完全禁用变量替换,这样所有的“&”都将被视为普通文本。例如: ``` SET DEFINE OFF CREATE TABLE mytable (c1 VARCHAR2(20)); INSERT INTO mytable (c1)...
需要注意的是,在使用无参宏定义时,宏名不会被 Replacement,即使在字符串中出现宏名也不会被替换。例如,`#define NAME "zhangyuncong"`程序中出现`"NAME"`,它不会被替换成`"zhangyuncong"`。 2、带参宏定义 带...
2023-04-06-项目笔记-第一阶段-4.4.1 局部变量的作用域 4.5.1 字面常量 4.5.2 const 修饰的常变量 4.5.3 #define 定义的标识符常量 4.5.4 枚举常量 5.1 字符串 5.1.1字符串使用 5.2 转义字符 5.2.1 常见的转义字符
在C/C++编程中,宏定义(#define)是一种预处理器指令,用于创建符号常量或简单的文本替换。宏在程序编译时起作用,它不是真正的函数,但可以通过模拟函数调用来实现类似的功能,从而提高代码的可读性和可维护性。在...
转义字符是在C语言中用来表示那些具有特殊意义或无法直接打印的字符。它们通常用反斜杠 `\` 后跟一个字符或一个八进制数或十六进制数来表示。 **常见转义字符:** - `\n` 表示换行。 - `\t` 表示水平制表符。 - `\'...
在代码示例中可以看到`CHARACTER_SET UTF8`这一行,它指定了当前文件或资源的字符集为UTF-8。这是一个非常基础但重要的步骤,因为如果字符集设置不正确,那么在显示中文或其他非ASCII字符时就会出现乱码。 #### 2. ...
在程序开发过程中,`#define` 是一个非常常见的预处理器指令,被广泛应用于多种编程语言之中,尤其是在 C 和 C++ 语言中。本文将从多个方面详细介绍 `#define` 的使用方法,并通过具体示例帮助读者更好地理解和应用...
在Oracle数据库系统中,替换变量是一种强大的功能,它极大地提高了SQL语句的灵活性和交互性,特别是在数据库管理和开发过程中。替换变量允许数据库管理员在编写SQL命令时引入用户输入,使得同一语句可以适应不同的...
- **`set heading off`**:禁用列标题的输出,默认情况下,每列的标题都会显示。关闭后,输出会更加紧凑。 - **`set feedback off`**:禁止显示SQL执行后返回的记录数,通常在执行大量数据的查询时使用,以加快输出...
`#define`仅在需要预处理器宏的特殊场景下使用,如字符串常量或复杂表达式的定义。 2. **定义小型函数**:推荐使用`inline`,它不仅提供类型安全,还能优化性能,避免了函数调用的开销。 3. **条件编译**:`#...
`#define`是C/C++预处理器中的一个指令,用于创建宏定义,它可以在编译期间替换特定的文本。下面是对`#define`用法及其与`typedef`区别的详细解释: 1. **简单的宏定义**: `#define`常用于定义常量,如`#define ...