ORA-00972 식별자가 너무 긴 별칭 열 이름입니다.
다음과 같은 쿼리가 있습니다.
SELECT column as averyveryveryverylongalias (more than 30 characters)
FROM Table_name
ORA-00972 identifier is too long 오류를 반환합니다 . 별칭을 짧게 만들지 않고 작동하도록하는 팁이 있습니까?
감사
아니요, Oracle 버전 12.2 이전에는 식별자 길이가 30자를 초과 할 수 없습니다. 참조 오라클 SQL 언어 참조 .
그러나 버전 12.2부터 최대 128 바이트까지 가능합니다. (참고 : 문자가 아닌 바이트).
이 오류는 또한 따옴표 및 단일 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;
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
Argos보고 시스템을 프런트 엔드로 사용하고 Oracle을 뒤에 사용하고 있습니다. 방금이 오류가 발생했으며 시작 부분에 큰 따옴표가 있고 끝에 작은 따옴표가있는 문자열로 인해 발생했습니다. 큰 따옴표를 단일로 바꾸면 문제가 해결되었습니다.
최근에 springboot를 1.4.3으로 업그레이드 한 경우 yml 파일을 변경해야 할 수 있습니다.
1.3의 yml :
jpa:
hibernate:
namingStrategy: org.hibernate.cfg.EJB3NamingStrategy
1.4.3의 yml :
jpa:
hibernate:
naming: physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
다른 사람들이 언급했듯이 Oracle SQL의 이름은 30 자 이하 여야합니다. 이 규칙은 테이블 이름뿐만 아니라 필드 이름에도 적용됩니다. 그래서 거기에 있습니다.
참고 URL : https://stackoverflow.com/questions/3085562/ora-00972-identifier-is-too-long-alias-column-name
'Nice programing' 카테고리의 다른 글
| C에서 좋은 해시 테이블 구현을 찾고 (0) | 2020.11.11 |
|---|---|
| MEF 대 모든 IoC (0) | 2020.11.11 |
| 유사한 결과를 찾고 유사성을 기준으로 정렬하는 방법은 무엇입니까? (0) | 2020.11.11 |
| CDI는 Spring의 좋은 대체품입니까? (0) | 2020.11.11 |
| Android 애플리케이션에서 런타임에 라이브러리를 동적으로로드 할 수 있습니까? (0) | 2020.11.11 |