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', '自律组织处分');--此条语句能正常执行
再看建表语句,字段名定义时都是小写的,都加了(""),不想找麻烦,就乖乖建表时把字段定义成大写的,再做增删查改时,就不用关心大小写了。
手机扫一扫,欢迎关注公众号
关注程序员成长
成长的乐趣,在于分享!
|
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架