oracle新建表后插入数据显示“列在此处不允许”怎么办?

如题所述

第1个回答  2019-11-26
出现的原因是由于,在插入字符或字符串型字段时。如果插入的数据是纯数字,则不会有错误;如果出现字符,则会报ORA-00984列在此处不允许异常。
可以创建TestUser表,如下:
view
plaincopy
to
clipboardprint?
create table TestUser
usercode char(5),
username varchar2(20)

以下例子请注意第一个字段usercode的值
1、正常例子:usercode为纯数字。可以正常插入TestUser表:
view
plaincopy
to
clipboardprint?
insert into TestUser values (11111,'张三');
2、异常例子:usercode第一位出现字符A。就会出现ORA-00984列在此处不允许错误:
view
plaincopy
to
clipboardprint?
insert into TestUser values (A1111,'张三');
3、解决例子:usercode两端加上了单引号。解决办法很简单,只要给字段值前后加上单引号即可:
view
plaincopy
to
clipboardprint?
insert into TestUser values ('A1111','张三');
总之,对于字符型字段,大家在插入数据时最好在字段值两端加上单引号,这样就可以很好的避免ORA-00984错误了。