Oracle 데이터베이스의 테이블 이름에서 따옴표의 역할
Oracle 데이터베이스에서 따옴표는 테이블 명명 규칙과 대소문자 구분에서 중요한 역할을 합니다. 그룹화 표시로서의 기본 기능과 달리 테이블 이름 주위의 따옴표는 테이블 액세스 및 데이터 조작에 대해 특정한 의미를 갖습니다.
대소문자 구분 및 따옴표
기본적으로 Oracle은 식별자(테이블 이름 포함)를 대소문자를 구분하지 않는 것으로 처리합니다. 그러나 식별자를 큰따옴표로 묶으면 대소문자가 구분됩니다. 예를 들어, "SITE"(큰따옴표 포함)라는 테이블을 생성하는 경우 항상 큰따옴표와 정확한 대/소문자를 지정하여 참조해야 합니다.
예를 들어 다음 쿼리는 예상된 결과를 반환합니다.
<code class="language-sql">SELECT * FROM "SITE" WHERE SITE_ID = 3;</code>
그러나 따옴표가 없거나 대소문자가 부정확한 쿼리는 실패합니다.
<code class="language-sql">SELECT * FROM SITE WHERE SITE_ID = 3; -- 失败 SELECT * FROM "site" WHERE SITE_ID = 3; -- 失败</code>
그 메커니즘
Oracle은 내부적으로 따옴표가 없는 식별자에 대소문자를 구분하지 않는 변환(대문자로 변환)을 적용합니다. 인용된 식별자의 경우 이 변환을 건너뛰어 대소문자를 구분합니다.
실습
다음 상황에서는 테이블 이름에 따옴표를 사용하는 것이 도움이 될 수 있습니다.
예
SITE와 사이트라는 두 개의 테이블을 생각해 보세요. 따옴표가 없으면 두 테이블 모두 동일한 테이블 "SITE"로 해석됩니다. 하지만 따옴표를 사용하세요.
<code class="language-sql">CREATE TABLE "SITE"(ID INT, NAME VARCHAR2(100)); CREATE TABLE "site"(ID INT, ACTIVE BOOLEAN);</code>
이러한 테이블은 고유하게 식별되고 액세스될 수 있습니다.
<code class="language-sql">SELECT * FROM "SITE"; SELECT * FROM "site";</code>
위 내용은 따옴표는 대소문자 구분 및 Oracle 테이블 이름 액세스에 어떤 영향을 미칩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!