How I can create a table with oracle but with small characters?

后端 未结 2 1223
名媛妹妹
名媛妹妹 2021-01-17 18:47

How I can create a table with oracle but with small characters, when I create a table with small characters it converts auto to capital characters.

相关标签:
2条回答
  • 2021-01-17 19:01

    Folding (non-quoted) table names to upper case is required by the ANSI SQL standard.

    You can create tables (and columns) with lowercase names using a quoted identifier (again this follows the SQL standard):

    CREATE TABLE "foo" 
    (
       "id"          integer,
       "SomeColumn"  varchar(100)
    );
    

    I would however strongly advise you, to not do that.

    Once you have your tables created that way, you have to always use double quotes because any non-quoted name will (following the rules for SQL identifiers) again be folded to upper-case and thus won't match the name as it is stored in the system catalogs.

    Therefor the following statement will not work:

    SELECT id, somecolumn FROM foo;
    

    You have to use a quoted identifier:

    SELECT "id", "SomeColumn" FROM "foo";
    

    For more details on (quoted) identifiers, please read the chapter Database Object Naming Rules in the manual.

    0 讨论(0)
  • 2021-01-17 19:18

    Enclose table name in quotation marks ("). Also create your table like this

    create table "t" ( a number, b varchar2(10) );
    

    Now your table name is t in lowercase. You have to use quotation marks always, when you access your table. For example

    select * from "t";
    

    You can use same construct for other objects (columns, indexes, ...).

    Anyway, SQL is case insensitive, you need a good reason to use case dependent object names.

    0 讨论(0)
提交回复
热议问题