oracle 标识符无效

 

drop table CM_CREDIT_SORT cascade constraints;

/*==============================================================*/
/* Table: CM_CREDIT_SORT                                        */
/*==============================================================*/
create table CM_CREDIT_SORT  (
   "type"               VARCHAR2(32)                    not null,
   "name"               VARCHAR2(128)                   not null,
   "parent"             VARCHAR2(32),
   "default_value"      NUMBER(8),
   "available"          CHAR(1),
   "mark"               VARCHAR2(256),
   constraint PK_CM_CREDIT_SORT primary key ("type")
);

comment on column CM_CREDIT_SORT."available" is
'Y 是,N否';

 

建表脚本如下。如果执行以下插入脚本写入数据时,会报ORA-00904:XXX:标识符无效。

 

 

insert into CM_CREDIT_SORT (type, name, parent, default_value, available, mark)
values ('0', '差评信息', null, null, 'Y', '');

insert into CM_CREDIT_SORT (type, name, parent, default_value, available, mark)
values ('1', '良好信息', '0', null, 'Y', '');

insert into CM_CREDIT_SORT (type, name, parent, default_value, available, mark)
values ('2', '提示信息', '0', null, 'Y', '');
--以上语句执行出错。

 

造成此类问题的原因:

 

   ORACLE 字段名默认都是大写的,如果定义表时用小写了 ,那就得加上双引号("")。

 

 

insert into CM_CREDIT_SORT ("type", "name", "parent", "default_value", "available", "mark")
values ('312', '自律组织处分', '31', -1, 'Y', '自律组织处分');--此条语句能正常执行

 

 

再看建表语句,字段名定义时都是小写的,都加了(""),不想找麻烦,就乖乖建表时把字段定义成大写的,再做增删查改时,就不用关心大小写了。

 

手机扫一扫,欢迎关注公众号

关注程序员成长

posted @ 2012-11-13 10:08  maventalker  阅读(315)  评论(0编辑  收藏  举报