Forum Stats

  • 3,827,993 Users
  • 2,260,846 Discussions
  • 7,897,427 Comments

Discussions

Increase maximum identifier length from 30 characters to 60 or more

MortenBraten
MortenBraten Member Posts: 303 Bronze Badge
edited Mar 31, 2017 10:48AM in Database Ideas - Ideas

Currently the maximum identifier length of tables, columns, packages, functions, etc. is limited to 30 characters.

This should be increased to 60, 90 or more characters, allowing for more flexibility and readability in object naming.

Realize this has the potential to break a lot of old applications, so it should probably be explicitly enabled by a configuration parameter, just like the "32K varchars in tables" option that was introduced in 12c.

Update: Oracle Database 12c R2 provides identifiers up to 128 bytes. For more information see the 12.2 New Features Guide.

MortenBratenctriebabhinivesh.jainPravin TakpireLothar FlatzborneselCuauhtemoc AmoxFranck PachotMartin PreissManish ChaturvediMohammed AhmadBPeaslandDBAZlatko SiroticChris HuntGeert GruwezJagadekaraPkMarwimSven W.itshakrvheddegApexBineSchbg3188782user1073537user7904656Melody S-OracleAjay-SharmapattonjgKevan GellingDivya MathewN.B.user7048955FatMartinRdoberkofleruser622767tonibony7
32
42 votes

Delivered · Last Updated

«13

Comments

  • abhinivesh.jain
    abhinivesh.jain Member Posts: 307 Blue Ribbon

    Agree, this will also help in doing cross RDBMS migration from RDBMS where higher limit is available.

    William Robertson
  • Pravin Takpire
    Pravin Takpire Member Posts: 1,762 Gold Trophy

    i wont go for 90 char limit but yes 60 is good.

    regards

    Pravin

  • Lothar Flatz
    Lothar Flatz Member Posts: 687 Silver Badge

    Yes, sometimes it is a bit short

  • Or at least give the option for a long name such as for java classes, e.g. JAVASNM view to get the full JAVA_CLASS name from the generated 30 chars abbreviated name  that shows on the *_OBJECTS views.

  • Marco Gralike
    Marco Gralike Member Posts: 4,491 Silver Trophy
    ....Realize this has the potential to break a lot of old applications, so it should probably be explicitly enabled....
    

    "Meaningful" names longer than 30 characters will also introduce a lot of performance issues (among others data dictionary wise)

    "32K varchars in tables" option that was introduced in 12c.
    

    Bigger is also not a better method...Ever tried to search in strings, or (piece wise) updates, that big as 32K...?

  • top.gun
    top.gun Member Posts: 3,666 Gold Crown
    ....Realize this has the potential to break a lot of old applications, so it should probably be explicitly enabled....
    

    "Meaningful" names longer than 30 characters will also introduce a lot of performance issues (among others data dictionary wise)

    "32K varchars in tables" option that was introduced in 12c.
    

    Bigger is also not a better method...Ever tried to search in strings, or (piece wise) updates, that big as 32K...?

    I'd agree longer is not better....

    Longer names are harder to read, especially if you have names 90 characters long that differ by just a few characters.

    Also harder to prevent code spilling over to the next line if the names alone almost fill a whole line.

    Names need to be clear and concise, and that means keeping the lengths to a sensible limit.

  • BPeaslandDBA
    BPeaslandDBA Member Posts: 4,615 Blue Diamond

    I'd agree longer is not better....

    Longer names are harder to read, especially if you have names 90 characters long that differ by just a few characters.

    Also harder to prevent code spilling over to the next line if the names alone almost fill a whole line.

    Names need to be clear and concise, and that means keeping the lengths to a sensible limit.

    Wait long enough and someone will propose case-sensitive object names in Oracle so that they can enjoy Camel Case for "readiblity".

    Cheers,
    Brian

    top.gunWilliam Robertsonsysassysdba
  • Marwim
    Marwim Member Posts: 3,649 Gold Trophy

    Does Oracle prepare the Data dictionary for longer names already?

    Data Dictionary

  • Sven W.
    Sven W. Member Posts: 10,535 Gold Crown
    edited Jul 31, 2015 6:42AM

    Strictly speaking the maximum possible length for a table identifier is already 65 characters.

    "SCHEMANAME"."TABLENAME"

    schema name can be 30 chars, table name can be 30 chars + 4" + 1.

    But I hit the 30 char limitation pretty often. Especially if it comes to nameing conventions for foreign keys and indexes. So I'm all for increasing the length a little bit.

    CamelCase of cause is already possible. But luckily it is not used a lot.

    berxApexBine
  • Lothar Flatz
    Lothar Flatz Member Posts: 687 Silver Badge

    Strictly speaking the maximum possible length for a table identifier is already 65 characters.

    "SCHEMANAME"."TABLENAME"

    schema name can be 30 chars, table name can be 30 chars + 4" + 1.

    But I hit the 30 char limitation pretty often. Especially if it comes to nameing conventions for foreign keys and indexes. So I'm all for increasing the length a little bit.

    CamelCase of cause is already possible. But luckily it is not used a lot.

    Exactly. When I have a name length issue it is with index names.

    berx