zoukankan      html  css  js  c++  java
  • 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', '自律组织处分');--此条语句能正常执行

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

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

    关注程序员成长

    成长的乐趣,在于分享!
    大龄程序员,一路走来,感慨颇多。闲暇时写写字,希望能给同行人一点帮助。
    本文版权归作者growithus和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    MVC概念性的内容
    类 class
    php获取真实IP地址
    面向对象static静态的属性和方法的调用
    smarty 入门2(个人总结)
    smarty入门
    读取文件内容fopen,fgets,fclose
    mysql常用命令
    mybatis查询的三种方式
    MyBatis 映射文件
  • 原文地址:https://www.cnblogs.com/growithus/p/11012292.html
Copyright © 2011-2022 走看看