복붙노트

[SQL] 어떻게 예약 된 SQL을 키워드로 명명 된 테이블 열을 처리하기 위해?

SQL

어떻게 예약 된 SQL을 키워드로 명명 된 테이블 열을 처리하기 위해?

나는 "RANK"라는 이름의 열이있는 이전 테이블을 가지고 있고이 이름은 오라클의 키워드입니다 나는이 테이블 작성 방법을 몰라과는 다른 응용 프로그램에서 사용되기 때문에이 칼럼 이름을 바꿀 수 없습니다. 지금은이 테이블에 데이터를 삽입해야합니다 :

insert into mytbl (RANK)
select RANK from other_table

이 쿼리를 실행할 때 다음과 같은 오류가 발생했습니다 :

ORA-00907은 : 오른쪽 괄호 누락

좋은 말,이 문제를 어떻게 해결할 수 있습니까?

감사.

해결법

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

    1.오라클은 예약어를 탈출 "큰 따옴표를 사용합니다.

    오라클은 예약어를 탈출 "큰 따옴표를 사용합니다.

    insert into mytbl ("RANK")
    select "RANK" 
    from other_table
    

    또 다른 노트, 오라클은 물론 올바른 경우 필요합니다.

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

    2.우선, 당신은 열 이름과 테이블 이름으로 예약 된 키워드를 사용하지 않는다.

    우선, 당신은 열 이름과 테이블 이름으로 예약 된 키워드를 사용하지 않는다.

    당신은 키워드를 분석 할 수 있도록 오라클은 예약 된 키워드를 분석하는 "이중 따옴표를 사용합니다 복식 따옴표 ""에 배치하여.

    insert into mytbl ("RANK")
    select "RANK" 
    from other_table
    
  3. ==============================

    3.내 경우에는, 내 쿼리에있다.

    내 경우에는, 내 쿼리에있다.

    UPDATE SCHEMA.TABLE SET PART_NO = '1S7F530400', WHERE PART_NO = '1S7?F5304?00';
    

    이되어야합니다 :

    UPDATE SCHEMA.TABLE SET PART_NO = '1S7F530400' WHERE PART_NO = '1S7?F5304?00';
    
  4. from https://stackoverflow.com/questions/11629966/how-to-handle-table-column-named-with-reserved-sql-keyword by cc-by-sa and MIT license