oracle insert &字符插入问题

例如执行一下语句:

insert into NSRXT_SP (SP_ID, SP_TITLE, SP_DESC, SP_URL, SP_TYPE, SP_SUB_TYPE, ADD_TIME, CZRY_DM)
values (227, ‘【提醒】新所得税申报表填写小提示‘, null, ‘http://hdsw.wangzhanbaomu.com/index.php?g=Wap&m=Index&a=content&id=561&classid=79&token=tnxjwh1411757286&wecha_id=oCyfXjjVQn69ytFPvkT2eUI_Y6jA‘, ‘2‘, ‘ ‘, to_date(‘21-07-2015 11:07:58‘, ‘dd-mm-yyyy hh24:mi:ss‘), null);

SP_URL字段对应的是一个带参数的超链接,在执行过程中Oracle把&当做自定义变量来进行处理了。

解决方法:

(1)网上有人说通过设置set define OFF,来进行解决,但是我的还是不可以;

(2)把&使用Oracle字符处理函数chr来进行处理(此种方法成功):chr(38)表示&字符

insert into NSRXT_SP (SP_ID, SP_TITLE, SP_DESC, SP_URL, SP_TYPE, SP_SUB_TYPE, ADD_TIME, CZRY_DM)
values (227, ‘【提醒】新所得税申报表填写小提示‘, null, ‘http://hdsw.wangzhanbaomu.com/index.php?g=Wap‘||chr(38)||‘m=Index‘||chr(38)||‘a=content‘||chr(38)||‘id=561‘||chr(38)||‘classid=79‘||chr(38)||‘token=tnxjwh1411757286‘||chr(38)||‘wecha_id=oCyfXjjVQn69ytFPvkT2eUI_Y6jA‘, ‘2‘, ‘ ‘, to_date(‘21-07-2015 11:07:58‘, ‘dd-mm-yyyy hh24:mi:ss‘), null);
时间: 2024-12-06 19:48:57

oracle insert &字符插入问题的相关文章

如何通过sql的insert语句插入大量字符串到oracle的clob字段?

当通过insert语句直接插入大量字符串(主要是html的内容),超过4000字符时候,就会报: ORA-01489: 字符串连接的结果过长 虽然字段是clob,足以存储,但是通过这种直接插入的时候,因为没有强制指定带插入字符串为clob类型, oracle会把插入的字符串作为 “字符串类型”处理,由于oracle有最大字符串限制(不超过4000个字符),所以会报错. 解决思路:指定待插入字符串类型为clob,可以使用过程或存储过程 例子: DECLARE REALLYBIGTEXTSTRING

Oracle多表插入语句Insert All/Insert First

关于INSERT ALL和INSERT FIRST 一.无条件 INSERT ALL 二.条件 INSERT ALL 三.条件 INSERT FIRST Insert-Select 使用Insert Select实现同时向多个表插入记录 一.无条件 INSERT ALL --------------------------------------------------------------------------------------------- INSERT ALL insert_in

oracle Insert 一次插入多条记录

oracle Insert 一次插入多条记录有两种方法: 1)Insert All Into table_name values ... insert all into table_name values('111','122') into table_name values('222','222') select 1 from dual; 2)Insert Into table_name select from insert into table1_name select t1.column_

操作Oracle数据库,插入数据时显示:ORA-00984列在此处不允许错误

操作Oracle数据库,插入数据时显示:ORA-00984列在此处不允许错误,如下图所示: 出现的原因是由于,在插入字符或字符串型字段时.如果插入的数据是纯数字,则不会有错误:如果出现字符,则会报ORA-00984列在此处不允许异常. 可以创建TestUser表,如下: create table TestUser ( usercode char(5), username varchar2(20) ) 以下例子请注意第一个字段usercode的值 1.正常例子:usercode为纯数字.可以正常插

oracle日期的插入操作

Oracle 中如何插入日期时间类型的数据,演示的数据表如下 create table t( mydate date); SQL> insert into t values(to_date('2015-1-30 12:20:33','YYYY-MM-DD HH24:MI:SS')); SQL> select to_char(mydate,'YYYY-MM-DD HH24:MI:SS') from t; TO_CHAR(MYDATE,'YYY ------------------- 2015-0

C++完成Oracle存储过程批量插入(一)

为了满足大数据量的批量插入这个需求,最近研究了一下Oracle数据库的批量插入这块儿,本篇先介绍一下这两天来所了解到的以及一次不成功的C++进行存储过程批量插入方案. 一.Oracle处理批量插入存储过程 1.Oracle处理批量插入涉及到的相关概念有:Type.bulk collect.Oracle数组等.现在对它们依次简单的介绍一下. 1)Type Type主要用于用户建立Oracle自定义类型. Type常用的自定义类型介绍: A.子类型 类似与全局定义的常量,只要改一处地方,与此常量相关

Oracle insert all语句介绍

Oracle 中insert语句的高级用法,INSERT ALL 语句介绍: 1.无条件insert all 全部插入 CREATE TABLE t1(product_id NUMBER, product_name VARCHAR2(80),MONTH NUMBER); INSERT INTO t1 VALUES(111, '苹果',1); INSERT INTO t1 VALUES(222, '橘子',1); INSERT INTO t1 VALUES(333, '香蕉',1); COMMIT

[Oracle] Insert All的妙用

无条件的插入 Oracle中的insert all是指把同一批数据插入到不同的表中,假如现在有个需求:把t表中的数据分别插入t1,t2,如果你不知道insert all,你可能会使用insert插入2次,如下所示: insert into t1(object_name,object_id) select * from t; insert into t2(object_name,object_id) select * from t; commit; 事实上,以上这种写法是错误的,因为在两次inse

解决Oracle+Mybatis批量插入报错:SQL 命令未正确结束

Mybatis批量插入需要foreach元素.foreach元素有以下主要属性: (1)item:集合中每一个元素进行迭代时的别名. (2)index:指定一个名字,用于表示在迭代过程中,每次迭代到的位置. (3)collection:根据传入的参数值确定. (4)open:表示该语句以什么开始. (5)separator:表示在每次进行迭代之间以什么符号作为分隔 符. (6)close:表示以什么结束. 首先,错误的xml配置文件如下: <insert id="save" da