操作Oracle数据库,插入数据时显示:ORA-00984列在此处不允许错误,如下图所示:
出现的原因是由于,在插入字符或字符串型字段时。如果插入的数据是纯数字,则不会有错误;如果出现字符,则会报ORA-00984列在此处不允许异常。 可以创建TestUser表,如下:
create table TestUser ( usercode char(5), username varchar2(20) )
以下例子请注意第一个字段usercode的值
1、正常例子:usercode为纯数字。可以正常插入TestUser表:
insert into TestUser values (11111,'张三');
2、异常例子:usercode第一位出现字符A。就会出现ORA-00984列在此处不允许错误:
insert into TestUser values (A1111,'张三');
3、解决例子:usercode两端加上了单引号。解决办法很简单,只要给字段值前后加上单引号即可:
insert into TestUser values ('A1111','张三');
总之,对于字符型字段,大家在插入数据时最好在字段值两端加上单引号,这样就可以很好的避免ORA-00984错误了。
纯纯地支持一下~
脑袋里装的东西越少,脑袋上的花样就越多。楼主辛苦感谢博主。by https://www.ceshidaan.com/class/maanshan.html
我处理的文件几十万条难道要一条条家“”“号吗???”
建议写个工具批量处理。
将数据化库中的列名,都写成大写,最好把Table name 也给成大写
oracle 会将varchar2类型先转化为number类型,所以数字不加单引号没问题,但是英文字母或汉字不加单引号时转化为number有问题
呵呵,说实话,看不太懂,对该数据库不熟悉,只简单接触过mysql
学习了,O(∩_∩)O谢谢。欢迎回访哦
这个问题也遇到过,虽然不加引号很多情况也可以,但是个别情况就不行
哈哈 抽点时间来看看你。
另外,你的网站速度好慢哦,打开下要好几分钟。呵呵
你的网站写的内容好有技术性哦,我有点看不懂,呵呵