sql - poner - ora-00972: identifier is too long
El identificador ORA-00972 es demasiado largo alias nombre de columna (6)
tengo una consulta como:
SELECT column as averyveryveryverylongalias (more than 30 characters) FROM Table_name
devuelve el error El identificador ORA-00972 es demasiado largo , ¿hay alguna sugerencia para que funcione sin hacer que el alias sea más corto?
Gracias
Como otros se han referido, los nombres en Oracle SQL deben ser menores o iguales a 30 caracteres. Añadiría que esta regla se aplica no solo a los nombres de las tablas, sino también a los nombres de los campos. Entonces ahí lo tienes.
El error también es causado por el manejo peculiar de las cotizaciones y los qutos individuales. Para incluir comillas simples dentro de la consulta, use comillas dobles duplicadas .
Esto no funcionará
select dbms_xmlgen.getxml("Select ....") XML from dual;
o esto tampoco
select dbms_xmlgen.getxml(''Select .. where something=''red''..'') XML from dual;
pero esto SI FUNCIONA
select dbms_xmlgen.getxml(''Select .. where something=''''red''''..'') XML from dual;
El objeto donde Oracle almacena el nombre de los identificadores (por ejemplo, los nombres de las tablas del usuario se almacenan en la tabla denominada USER_TABLES y los nombres de las columnas del usuario se almacenan en la tabla denominada USER_TAB_COLUMNS), tienen las columnas NAME (por ej. TABLE_NAME en USER_TABLES) de tamaño Varchar2 (30) ... y es uniforme a través de todas las tablas del sistema de objetos o identificadores -
DBA_ALL_TABLES ALL_ALL_TABLES USER_ALL_TABLES
DBA_PARTIAL_DROP_TABS ALL_PARTIAL_DROP_TABS USER_PARTIAL_DROP_TABS
DBA_PART_TABLES ALL_PART_TABLES USER_PART_TABLES
DBA_TABLES ALL_TABLES USER_TABLES
DBA_TABLESPACES USER_TABLESPACES TAB
DBA_TAB_COLUMNS ALL_TAB_COLUMNS USER_TAB_COLUMNS
DBA_TAB_COLS ALL_TAB_COLS USER_TAB_COLS
DBA_TAB_COMMENTS ALL_TAB_COMMENTS USER_TAB_COMMENTS
DBA_TAB_HISTOGRAMS ALL_TAB_HISTOGRAMS USER_TAB_HISTOGRAMS
DBA_TAB_MODIFICATIONS ALL_TAB_MODIFICATIONS USER_TAB_MODIFICATIONS
DBA_TAB_PARTITIONS ALL_TAB_PARTITIONS USER_TAB_PARTITIONS
Estoy utilizando el sistema de informes de Argos como interfaz y Oracle atrás. Acabo de encontrar este error y fue causado por una cadena con una comilla doble al comienzo y una comilla simple al final. Reemplazar la comilla doble con una sola resolvió el problema.
No, antes de la versión 12.2 de Oracle, los identificadores no pueden exceder los 30 caracteres de longitud. Consulte la Referencia del lenguaje Oracle SQL .
Sin embargo, desde la versión 12.2 pueden tener hasta 128 bytes de longitud. (Nota: bytes, no caracteres).
Si recientemente ha actualizado Springboot a 1.4.3, es posible que deba realizar cambios en el archivo yml:
yml en 1.3:
jpa:
hibernate:
namingStrategy: org.hibernate.cfg.EJB3NamingStrategy
yml en 1.4.3:
jpa:
hibernate:
naming: physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl