转自http://blog.csdn.net/sfdev/archive/2008/07/29/2729336.aspx
今天在进行数据订正的时候写了一批很简单的update语句,结果在sqlplus中执行出现问题,提示让我输入对应参数的值?
原SQL如:
update trans_record set params = 'service=standard_bail&xxx=112' where trans_record_id = '3041';
经查,问题就出在字符&上,他是一个控制参数传入的字符;
要解决执行的问题,有如下几种方式:
1、在sqlplus中执行set define off关闭特殊字符,关闭前可用show define查看有哪些特殊字符;
2、
update trans_record set params = 'service=standard_bail'||'&'||'xxx=112' where trans_record_id = '3041';
3.
update trans_record set params = 'service=standard_bail'||chr(38)||'xxx=112' where trans_record_id = '3041';
4.
update trans_record set params = 'service=standard_bail\&xxx=112' where trans_record_id = '3041';
以上4种方式推荐使用第一种方式,简单,彻底解决特殊字符问题(前提是看清到底关闭了哪些特殊字符);因为特殊字符不止有&,还有%等;
PS:此类问题只在sqlplus中出现,我们日常开发中通过JDBC直接操作不会出现该问题;
分享到:
相关推荐
在这个场景中,我们可以利用批处理文件来简化Oracle数据库的操作,如删除用户、创建用户、创建表和触发器,以及执行其他SQL语句。 首先,我们需要了解如何在批处理文件中连接Oracle数据库。这通常通过Oracle的...
Oracle Sql 中常用字符串处理函数 Oracle Sql 中提供了多种字符串处理函数,用于对字符串进行各种操作,如大小写转换、截取、连接、查找、替换等。下面是 Oracle Sql 中常用的字符串处理函数: 1. 大小写转换函数 ...
Oracle批处理是数据库操作中提高效率的重要手段,尤其是在C#编程环境下,利用Oracle的数据驱动进行批处理,可以显著提升大量SQL语句执行的速度。本文将深入探讨如何在C#中利用Oracle自带的驱动来实现批处理,以一次...
本文将详细介绍如何在Oracle与SQL Server中批量执行SQL脚本,以提高数据库管理和维护的效率。 一、Oracle批量执行SQL脚本 1. **SQL*Plus工具**: Oracle提供了SQL*Plus,一个命令行工具,可以用于执行SQL语句和PL/...
Oracle和SqlServer语法区别 Oracle和SqlServer是两种流行的关系型数据库管理系统,它们之间存在着一些语法区别。了解这些区别对于开发者来说非常重要,因为它可以帮助他们更好地迁移到新的数据库管理系统。下面将...
在Oracle数据库中,将字符串转换为数字是一项常见的操作,特别是在处理包含数字的字符串列时,可能需要进行数值计算或按照数值大小进行排序。本篇文章将深入探讨如何在SQL查询中利用Oracle提供的函数来实现这一目标...
在Oracle数据库中,有时我们需要插入包含特殊字符的数据,如URL中的`&`和文本中的单引号`'`。这些字符在SQL语句中具有特定含义,因此直接插入可能会导致语法错误或解析问题。本文将详细介绍如何处理和插入这些特殊...
oracle在存储过程中执行字符串中存有的sql语句
常量的计算是在语句被优化时一次性完成,而不是在每次执行时。这可以提高 SQL 语句的执行效率。例如,在检索月薪大于 2000 的表达式中,如果 SQL 语句包括第一种情况,优化器会简单地把它转变成第二种。优化器不会...
Oracle 高效 SQL 语句原则是指在编写 Oracle 数据库 SQL 语句时需要遵循的一些基本原则,以便提高 SQL 语句的执行效率,减少数据库服务器的负载,提高应用程序的性能。下面是 Oracle 高效 SQL 语句原则的详细介绍: ...
因此,当你执行一个 SQL 语句(有时被称为一个游标)时,如果它和之前的执行过的语句完全相同,ORACLE 就能很快获得已经被解析的语句以及最好的执行路径。ORACLE 的这个功能大大地提高了 SQL 的执行性能并节省了内存...
### ORACLE和SQL Server的语法区别 #### 一、概述 本文主要介绍Oracle与SQL Server在SQL语言层面的异同之处,重点在于Transact-SQL(T-SQL)与PL/SQL之间的区别,并提供了一些迁移策略。对于希望将现有的Oracle...
在Oracle数据库管理中,批处理是一项重要的操作,它允许管理员或开发者一次性执行多个SQL脚本,从而提高工作效率。本文将详细讲解如何在Oracle环境中利用批处理文件同时执行多个.sql文件,以及相关的工具和源码应用...
Oracle SQL,全称为结构化查询语言在Oracle数据库环境中的应用,是数据库管理员和开发人员用于检索、更新和管理Oracle数据库的核心工具。Oracle SQL是SQL标准的扩展,它提供了许多特有的功能,以满足企业级数据库...
Oracle SQL 判断值为空OrNull 判断 Oracle SQL 中判断值为空或 Null 的方法有多种,在本文中,我们将介绍 Oracle 和 SQL Server 中的空值判断方法。 Oracle 中的空值判断 在 Oracle 中,可以使用 `NVL` 函数来...
- **Oracle**: 使用`||`符号进行字符串拼接。 - **SQL Server**: 使用`(expression + expression)`或`CONCAT`函数。 2. **转换为字符类型** - **Oracle**: `CHR`, `CHAR`等函数。 - **SQL Server**: `ASCII`...
突然想到Oracle有一个编码转换的函数叫Convert,如果一个字符串编码转换前后不一样表示字符串里面含有非ASCII字符,这样得到结果。后写出来测试了一下,确实可行,5500万记录10秒钟扫描结束。以下是测试用例: ...
可以通过反射机制来调用 `weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB` 类的 `getVendorObj()` 方法,该方法可以返回一个 `oracle.sql.CLOB` 类型的对象,从而避免了直接进行类型转换时可能出现的异常。 以下是一...
2. **字符集**:Oracle和MySQL支持的字符集可能不同,需确保字符集设置的一致性,避免数据丢失或乱码。 3. **数据库架构差异**:比如分区表、物质化视图在MySQL中可能有不同的实现方式,需要调整转换策略。 4. **...
在Linux环境下,对Oracle数据库进行批量操作是一项常见的任务,尤其对于系统管理员和DBA来说,高效地执行SQL脚本可以显著提升工作效率。本篇将详细讲解如何利用shell脚本来批量执行Oracle数据库脚本,以及涉及的相关...