`

Oracle执行SQL时遭遇特殊字符&

    博客分类:
  • db
阅读更多

 转自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语句,bat连接oracle数据库并执行语句

    在这个场景中,我们可以利用批处理文件来简化Oracle数据库的操作,如删除用户、创建用户、创建表和触发器,以及执行其他SQL语句。 首先,我们需要了解如何在批处理文件中连接Oracle数据库。这通常通过Oracle的...

    Oracle_Sql_中常用字符串处理函数

    Oracle Sql 中常用字符串处理函数 Oracle Sql 中提供了多种字符串处理函数,用于对字符串进行各种操作,如大小写转换、截取、连接、查找、替换等。下面是 Oracle Sql 中常用的字符串处理函数: 1. 大小写转换函数 ...

    Oracle批处理:使用C# 自带Oracle驱动一次执行多条Sql语句

    Oracle批处理是数据库操作中提高效率的重要手段,尤其是在C#编程环境下,利用Oracle的数据驱动进行批处理,可以显著提升大量SQL语句执行的速度。本文将深入探讨如何在C#中利用Oracle自带的驱动来实现批处理,以一次...

    Oracle & SQLServer 脚本批量执行方法

    本文将详细介绍如何在Oracle与SQL Server中批量执行SQL脚本,以提高数据库管理和维护的效率。 一、Oracle批量执行SQL脚本 1. **SQL*Plus工具**: Oracle提供了SQL*Plus,一个命令行工具,可以用于执行SQL语句和PL/...

    Oracle和SqlServer语法区别

    Oracle和SqlServer语法区别 Oracle和SqlServer是两种流行的关系型数据库管理系统,它们之间存在着一些语法区别。了解这些区别对于开发者来说非常重要,因为它可以帮助他们更好地迁移到新的数据库管理系统。下面将...

    oracle通过sql实现字符串转数字oracle函数

    在Oracle数据库中,将字符串转换为数字是一项常见的操作,特别是在处理包含数字的字符串列时,可能需要进行数值计算或按照数值大小进行排序。本篇文章将深入探讨如何在SQL查询中利用Oracle提供的函数来实现这一目标...

    Oracle中插入特殊字符:&和'的解决方法汇总

    在Oracle数据库中,有时我们需要插入包含特殊字符的数据,如URL中的`&`和文本中的单引号`'`。这些字符在SQL语句中具有特定含义,因此直接插入可能会导致语法错误或解析问题。本文将详细介绍如何处理和插入这些特殊...

    在存储过程中执行字符串中存有的sql语句

    oracle在存储过程中执行字符串中存有的sql语句

    OracleSQL的优化.pdf

    常量的计算是在语句被优化时一次性完成,而不是在每次执行时。这可以提高 SQL 语句的执行效率。例如,在检索月薪大于 2000 的表达式中,如果 SQL 语句包括第一种情况,优化器会简单地把它转变成第二种。优化器不会...

    Oracle高效SQL语句原则

    Oracle 高效 SQL 语句原则是指在编写 Oracle 数据库 SQL 语句时需要遵循的一些基本原则,以便提高 SQL 语句的执行效率,减少数据库服务器的负载,提高应用程序的性能。下面是 Oracle 高效 SQL 语句原则的详细介绍: ...

    ORACLE SQL性能优化系列

    因此,当你执行一个 SQL 语句(有时被称为一个游标)时,如果它和之前的执行过的语句完全相同,ORACLE 就能很快获得已经被解析的语句以及最好的执行路径。ORACLE 的这个功能大大地提高了 SQL 的执行性能并节省了内存...

    ORACLE和SQL Server的语法区别

    ### ORACLE和SQL Server的语法区别 #### 一、概述 本文主要介绍Oracle与SQL Server在SQL语言层面的异同之处,重点在于Transact-SQL(T-SQL)与PL/SQL之间的区别,并提供了一些迁移策略。对于希望将现有的Oracle...

    oracle 中使用批处理文件,同时执行,多个.sql文件。

    在Oracle数据库管理中,批处理是一项重要的操作,它允许管理员或开发者一次性执行多个SQL脚本,从而提高工作效率。本文将详细讲解如何在Oracle环境中利用批处理文件同时执行多个.sql文件,以及相关的工具和源码应用...

    Oracle SQL(SQL for Oracle)

    Oracle SQL,全称为结构化查询语言在Oracle数据库环境中的应用,是数据库管理员和开发人员用于检索、更新和管理Oracle数据库的核心工具。Oracle SQL是SQL标准的扩展,它提供了许多特有的功能,以满足企业级数据库...

    oraclesql判断值为空-Oracle-sqlserver的空值(null)判断.pdf

    Oracle SQL 判断值为空OrNull 判断 Oracle SQL 中判断值为空或 Null 的方法有多种,在本文中,我们将介绍 Oracle 和 SQL Server 中的空值判断方法。 Oracle 中的空值判断 在 Oracle 中,可以使用 `NVL` 函数来...

    ORACLE和SQL语法区别归纳

    - **Oracle**: 使用`||`符号进行字符串拼接。 - **SQL Server**: 使用`(expression + expression)`或`CONCAT`函数。 2. **转换为字符类型** - **Oracle**: `CHR`, `CHAR`等函数。 - **SQL Server**: `ASCII`...

    Oracle中如何用SQL检测字段是否包括中文字符

    突然想到Oracle有一个编码转换的函数叫Convert,如果一个字符串编码转换前后不一样表示字符串里面含有非ASCII字符,这样得到结果。后写出来测试了一下,确实可行,5500万记录10秒钟扫描结束。以下是测试用例:  ...

    weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB 类型转换解决办法

    可以通过反射机制来调用 `weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB` 类的 `getVendorObj()` 方法,该方法可以返回一个 `oracle.sql.CLOB` 类型的对象,从而避免了直接进行类型转换时可能出现的异常。 以下是一...

    Oracle数据库sql转换mysql数据库工具

    2. **字符集**:Oracle和MySQL支持的字符集可能不同,需确保字符集设置的一致性,避免数据丢失或乱码。 3. **数据库架构差异**:比如分区表、物质化视图在MySQL中可能有不同的实现方式,需要调整转换策略。 4. **...

    linux下批量执行oracle脚本的shell脚本

    在Linux环境下,对Oracle数据库进行批量操作是一项常见的任务,尤其对于系统管理员和DBA来说,高效地执行SQL脚本可以显著提升工作效率。本篇将详细讲解如何利用shell脚本来批量执行Oracle数据库脚本,以及涉及的相关...

Global site tag (gtag.js) - Google Analytics