在用PowerDesigner生成oracle数据库时怎么会是这个样的呢
create table "Category"  (
   ID                   INTEGER                         not null,
   "CateName"           VARCHAR2(40),
   "CateDesc"           CLOB
);问题:表名"Category" 不应该有引号;
     数据类型:integer有错;
 这样解决?

解决方案 »

  1.   

    --就是怕会有缺省关键字问题
    SQL> CREATE TABLE "CATEGORY"  (
      2    ID                  INTEGER                        NOT NULL,
      3    "CATENAME"          VARCHAR2(40),
      4    "CATEDESC"          CLOB
      5  );Table createdSQL> SELECT * FROM CATEGORY;  ID             CATENAME               CATEDESC
    ---------- -------------------- ----------------------
      

  2.   


    create table Category  ( 
      ID              INTEGER    not null, 
      CateName        VARCHAR2(40), 
      CateDesc        CLOB 
    ); 
      

  3.   

    在PowerDesigner设置菜单中设置一下,取消区分大小写。
      

  4.   

    不是大小写问题,是生成的数据表不应该有引号,如:
    create table "Category"  ( 
      ID                  INTEGER                        not null, 
      "CateName"          VARCHAR2(40), 
      "CateDesc"          CLOB 
    ); 
    查询时要用 select * from "category";
    而一般建的表都是select * from category就可以了,还有oracle 里面不支持Integer数据类型。
      

  5.   

    你用的是10g吗?为什么我在我的oracle10g上不行呢?
      

  6.   

    PowerDesigner生成脚本的时候,在选项里可以设置的,把对表和字段名引号的选项勾去掉.
      

  7.   

    使用PowerDesigner生成数据库建表SQL脚本时,尤其是Oracle数据库时,表名一般会带引号。其实加引号是PL/SQL的规范,数据库会严格按照“”中的名称建表,如果没有“”,会按照ORACLE默认的设置建表(DBA STUDIO里面),默认是全部大写,这样,在ORACLE数据库里的字段就如“Column_1”。如果你把引号去掉,ORACLE自动默认为全部大写,即“COLUMN_1”,所以这段SQL在PL/SQL中执行的时候是没有任何问题的,如果不加引号,在PL/SQL会自动识别为大写。如果加了引号,sql或者hql查询“Column_1='XXX'”时,就会报错:ORA-00904: "COLUMN_1": 无效的标识符,除非写为“‘Column_1’='XXX'”。  这个问题是生成脚本格式的问题,因此,我们可以尝试在DBMS配置文件中修改相应的格式设置来解决这个问题。选择DBMS Properties,选择Script->Sql->Format,有一项CaseSensitivityUsingQuote,它的comment为“Determines if the case sensitivity for identifiers is managed using double quotes”,表示是否适用双引号来规定标识符的大小写,可以看到右边的values默认值为“YES”,改为“No”,点击【应用】按钮。