oracle插数据时提示amp,插入数据时有特殊字符&且后面有字符被误认为变量名(insert时提示:输入值于***)...

当出现如下报错时请检查你的SQL,肯定是值里面有特殊字符&。如果是没有用的直接删除就可以了,如果有用那么就需要处理一下了(默认插入值中带&符号,且后面有字符串,就会被误认为变量名)。

处理方法(意思是要把&用单引号单独引起来,然后用拼接的方式来处理这一列)

将 & 替换为 '||'&'||'

在plsql developer上回出现如下图提示

ae062ae2536809143d32fc873f8897b8.png

在sqlplus就是如下提示

SQL> insert into va values('T&K/泰恩康');

输入 k 的值: 只是个符号我不想要赋值。。。。

原值 1: insert into va values('T&K/泰恩康')

新值 1: insert into va values('T只是个符号我不想要赋值。。。。/泰恩康')

已创建 1 行。

SQL> select * from va;

FS_FAILOVER_OBSERVER_HOST

--------------------------------------------------------------------------------

T只是个符号我不想要赋值。。。。/泰恩康

使用单引号和拼接方法,将&和被误认为变量名的字符隔离开拼接处理。

SQL> insert into va values('T'||'&'||'K/泰恩康');

已创建 1 行。

SQL> select * from va;

FS_FAILOVER_OBSERVER_HOST

--------------------------------------------------------------------------------

T&K/泰恩康

其实后面跟的是空格就不会有影响,可以直接插入。

SQL> insert into va values('a7 & >d');

已创建 1 行。

SQL> select * from va;

FS_FAILOVER_OBSERVER_HOST

--------------------------------------------------------------------------------

a7 & >d

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值