복붙노트

[SQL] ORA-00972 너무 오래 별칭 열 이름 식별자

SQL

ORA-00972 너무 오래 별칭 열 이름 식별자

난 쿼리와 같은있다 :

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

이 별칭을 짧은없이 작동하게 할 수있는 팁이 오류 ORA-00972 식별자가 너무 깁니다 반환?

감사

해결법

  1. ==============================

    1.아니, Oracle 버전 12.2 이전, 식별자는 길이가 30자를 초과 할 수 없습니다. 오라클 SQL 언어 참조 설명서를 참조하십시오.

    아니, Oracle 버전 12.2 이전, 식별자는 길이가 30자를 초과 할 수 없습니다. 오라클 SQL 언어 참조 설명서를 참조하십시오.

    그러나 버전 12.2에서 그들은 긴 128 바이트까지 될 수 있습니다. (참고 : 바이트가 아닌 문자).

  2. ==============================

    2.이 오류는 또한 따옴표와 작은 따옴표의 기발한 처리에 의해 발생합니다. 쿼리 내부에 작은 따옴표를 포함하려면 이중 따옴표를 사용합니다.

    이 오류는 또한 따옴표와 작은 따옴표의 기발한 처리에 의해 발생합니다. 쿼리 내부에 작은 따옴표를 포함하려면 이중 따옴표를 사용합니다.

    이하지 않습니다 작업

    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. ==============================

    3.오라클 식별자의 이름을 저장하는 오브젝트 이름 칼럼을 (예를 들어 사용자의 테이블 명이 USER_TAB_COLUMNS로 명명 된 테이블에 저장 USER_TABLES 사용자의 란 이름으로 명명 된 테이블에 저장된다) (예 TABLE_NAME 크기 VARCHAR2 (30) ... 그리고 그것의 균일의 USER_TABLES)에서 개체 또는 식별자의 모든 시스템 테이블을 통해 -

    오라클 식별자의 이름을 저장하는 오브젝트 이름 칼럼을 (예를 들어 사용자의 테이블 명이 USER_TAB_COLUMNS로 명명 된 테이블에 저장 USER_TABLES 사용자의 란 이름으로 명명 된 테이블에 저장된다) (예 TABLE_NAME 크기 VARCHAR2 (30) ... 그리고 그것의 균일의 USER_TABLES)에서 개체 또는 식별자의 모든 시스템 테이블을 통해 -

     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. ==============================

    4.나는 다시 프런트 엔드 및 Oracle로 아르고스보고 시스템을 사용하고 있습니다. 난 그냥이 오류가 발생하여이를 끝에 시작에서 큰 따옴표와 작은 따옴표의 문자열에 의해 발생했다. 하나와 큰 따옴표를 교체 문제를 해결했다.

    나는 다시 프런트 엔드 및 Oracle로 아르고스보고 시스템을 사용하고 있습니다. 난 그냥이 오류가 발생하여이를 끝에 시작에서 큰 따옴표와 작은 따옴표의 문자열에 의해 발생했다. 하나와 큰 따옴표를 교체 문제를 해결했다.

  5. ==============================

    5.최근 1.4.3 봄 부팅을 업그레이드 한 경우, 당신은 YAML 파일을 변경해야 할 수도 있습니다 :

    최근 1.4.3 봄 부팅을 업그레이드 한 경우, 당신은 YAML 파일을 변경해야 할 수도 있습니다 :

    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
    
  6. ==============================

    6.다른 사람이 언급했듯이, 오라클 SQL의 이름은 수 작거나 30 자와 동일해야합니다. 나는이 규칙은 테이블 이름에 있지만 필드 이름에뿐만 아니라 적용되는 추가합니다. 그래서 당신은 그것을이 있습니다.

    다른 사람이 언급했듯이, 오라클 SQL의 이름은 수 작거나 30 자와 동일해야합니다. 나는이 규칙은 테이블 이름에 있지만 필드 이름에뿐만 아니라 적용되는 추가합니다. 그래서 당신은 그것을이 있습니다.

  7. from https://stackoverflow.com/questions/3085562/ora-00972-identifier-is-too-long-alias-column-name by cc-by-sa and MIT license