내가 SQLAlchemy의 다음과 같은 SQL 코드를 생성 할 인용 강제로 열 별칭 :SQLAlchemy의 :
SELECT t171 AS "3Harm" FROM production
나는이 SQLAlchemy의 ORM 비슷한 주변에 놀았 던은 니펫을 :
session.query(Production.t171.label('3harm'))
문제 이것은 생성 된 SQL에서 "3harm"을 적절하게 인용하지 않는다는 것입니다.
ORA-00923: FROM keyword not found where expected
나는이 별칭 이름에 모든 문자를 대문자로 작동시킬 수 있습니다 : 그것은 숫자 문자로 시작하기 때문에 다음과 같은 오라클 예외가 발생하기 때문에 대신 "3harm"
이가 잘못 인용 부호로 둘러싸이지 않은 3harm
생성
session.query(Production.t171.label('3Harm'))
그러나 나머지 프로그램은 모두 소문자로 표준화되어 있기 때문에 소문자 열 이름을 사용하는 편이 더 좋습니다. 어떤 아이디어를 어떻게 소문자 버전을 인용합니까?
나는 'oracle' 언어가 문제가 있고 당신의 레이블을 인용하지 않고 있음을 확인할 수 있습니다.하지만''3 Harm' '과 같이 공백으로 적절하게 인용 할 것입니다. 사실, sqlalchemy에 대한 티켓이 있습니다 : [Issue # 2138 - 숫자로 시작하는 oracle 바인드 이름] (https://bitbucket.org/zzzeek/sqlalchemy/issue/2138/oracle-bind-names-that- 시작과 함께). 우선 순위를 높이려면 문제에 투표하십시오. – van