用powerdesigner 生成的代码在oracle中创建表的时候为什么把我定义的字段全部转换成了大写的,怎么才是正确的做法?

解决方案 »

  1.   

    -- Oracle 在建表的时候,若在表的称为上加上引号的话,引号里面的表名是区分大小写的,
    -- 若不加引号的话,是不区分大小写的(默认用大写转换函数将其表名转换为大写,但你在查询语句中,表名不加引号,也表示是此表名的大写形式,否则(加引号)就区分大小写啦,如:CREATE TABLE 'Luo'(
    col1 NUMBER(10)
    );INSERT INTO 'Luo'(col1) values (111);
    commit;SELECT * FROM luo;  -- 此时提示:此表不存在
    SELECT * FROM 'Luo'; -- 此时将出数据!
      

  2.   

    -- 上面写错啦,用双引号
    CREATE TABLE "Luo"(
    col1 NUMBER(10)
    );INSERT INTO "Luo"(col1) values (111);
    commit;SELECT * FROM luo; -- 此时提示:此表不存在
    SELECT * FROM "Luo"; -- 此时将出数据!
      

  3.   

    如果你想把你需要的字段生成有小写字母的话,可以使用双引号把你的字段引起来。
    如:
    create table test_tab("R_id" varchar2(20),"name_T" varchar2(20));这样创建后的字段就会和你创建表时的一致了。
      

  4.   

    特意弄成小写的,你以后写SQL文还得麻烦