Подтвердить что ты не робот

Идентификатор ORA-00972 - слишком длинное имя столбца псевдонима

У меня есть запрос вроде:

SELECT column as averyveryveryverylongalias (more than 30 characters) FROM Table_name

он возвращает ошибку идентификатор ORA-00972 слишком длинный, есть ли подсказка, чтобы заставить ее работать, не сокращая псевдоним?

Спасибо

4b9b3361

Ответ 2

Ошибка также вызвана необычной обработкой кавычек и отдельных quto. Чтобы включить одинарные кавычки внутри запроса, используйте двойные одинарные кавычки.

Это не сработает

select dbms_xmlgen.getxml("Select ....") XML from dual;

или это либо

select dbms_xmlgen.getxml('Select .. where something='red'..') XML from dual;

но это работает

select dbms_xmlgen.getxml('Select .. where something=''red''..') XML from dual;

Ответ 3

Объект, в котором Oracle хранит имя идентификаторов (например, имена таблиц пользователя хранятся в таблице с именем USER_TABLES, а имена столбцов пользователя хранятся в таблице с именем USER_TAB_COLUMNS), имеют столбцы NAME (например, TABLE_NAME в USER_TABLES) размера Varchar2 (30)... и равномерно по всем системным таблицам объектов или идентификаторов -

 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

Ответ 4

Я использую систему отчетности Argos как интерфейс и Oracle в обратном порядке. Я просто столкнулся с этой ошибкой, и она была вызвана строкой с двойной кавычкой в ​​начале и одной цитатой в конце. Замена двойной кавычки на один решила проблему.

Ответ 5

Если вы недавно обновили springboot до 1.4.3, вам может потребоваться внести изменения в файл yml:

yml в 1.3:

jpa: 
  hibernate: 
    namingStrategy: org.hibernate.cfg.EJB3NamingStrategy

yml в 1.4.3:

jpa: 
  hibernate: 
    naming: physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

Ответ 6

Как указывали другие, имена в Oracle SQL должны быть меньше или равно 30 символам. Я бы добавил, что это правило применяется не только к именам таблиц, но и к именам полей. Итак, у вас есть это.