Qual é o comprimento máximo de um nome de tabela e nome de coluna no Oracle?
oracle
name-length
robertkroll
fonte
fonte
Ensine um homem a pescar
Observe o tipo e tamanho dos dados
fonte
describe user_mview_logs
retorna,LOG_TABLE VARCHAR2(128)
mas se você tentar algo próximo a 30 caracteres ou mais para um nome de log de exibição materializado, obterá resultados bastante intrigantes.DESCRIBE all_tab_columns
mostrará um TABLE_NAME VARCHAR2 (30)
Nota VARCHAR2 (30) significa uma limitação de 30 bytes, não uma limitação de 30 caracteres e, portanto, pode ser diferente se o seu banco de dados estiver configurado / configurado para usar um conjunto de caracteres multibyte.
Mike
fonte
Certo, mas desde que você use caracteres ASCII, mesmo um conjunto de caracteres multibyte ainda daria uma limitação de exatamente 30 caracteres ... então, a menos que você queira colocar corações e gatos sorridentes nos nomes de banco de dados, tudo bem ...
fonte
30 caracteres (bytes, na verdade, como foi afirmado).
Mas não confie em mim; tente você mesmo:
Atualizado: conforme indicado acima, no Oracle 12.2 e posterior, o comprimento máximo do nome do objeto agora é de 128 bytes.
fonte
As regras de nomeação de objetos de esquema também podem ser úteis:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/sql_elements008.htm#sthref723
fonte
No banco de dados 10g com o qual estou lidando, sei que os nomes das tabelas têm um máximo de 30 caracteres. Não foi possível informar qual é o tamanho do nome da coluna (mas sei que é> 30).
fonte
O tamanho máximo do nome é de 30 caracteres devido ao dicionário de dados que permite o armazenamento apenas de 30 bytes
fonte
Em
Oracle 12.2
, você pode usar a constante interna,ORA_MAX_NAME_LEN
definida como 128 bytes (conforme 12.2). Antes doOracle 12.1
tamanho máximo ser de 30 bytes.fonte
O comprimento máximo dos nomes de objetos do banco de dados Oracle é 30 bytes .
Regras de nome do objeto: http://docs.oracle.com/database/121/SQLRF/sql_elements008.htm
fonte
Estou trabalhando no Oracle 12c 12.1. No entanto, não parece que ele permita mais de 30 caracteres para nomes de colunas / tabelas.
Leia uma página da Oracle que menciona 30 bytes. https://docs.oracle.com/database/121/SQLRF/sql_elements008.htm#SQLRF00223
No 12c, embora as all_tab_columns digam VARCHAR2 (128) para Table_Name, ele não permite nomes com mais de 30 bytes.
Encontrei outro artigo sobre o 12c R2, que parece permitir isso com até 128 caracteres. https://community.oracle.com/ideas/3338
fonte
O comprimento máximo do nome da tabela e da coluna é de 128 bytes ou 128 caracteres. Esse limite é para usar usuários do banco de dados sybase. Eu verifiquei esta resposta completamente, para que eu tenha postado esta resposta com confiança.
fonte