두 개의 토토 핫을 생성합시다. Capitals 토토 핫에는 상태가 포함되어 있습니다. 도시이기도 한 수도. 당연히 대문자 토토 핫은 도시에서 상속받아야 합니다.
토토 핫 도시 생성(
이름 텍스트,
인구 부동,
고도 int -- (피트 단위)
);
CREATE TABLE 대문자(
상태 문자(2)
) 상속(도시);
이 경우 대문자 행상속모든 속성(이름, 인구 및 고도)를 상위 도시로부터 가져옵니다. 속성 이름의 유형 이다텍스트, 원주민포스트그레SQL가변 길이에 대한 유형 문자열. 속성 채우기 유형은 다음과 같습니다.플로트, 원주민토토 핫배정밀도용 유형 부동 소수점 숫자. 주 수도에는 추가 속성이 있습니다. 상태는 자신의 상태를 보여줍니다. 안에포스트그레SQL, 토토 핫은 0 또는 더 많은 토토 핫이 있으며 쿼리는 토토 핫의 모든 행을 참조할 수 있습니다. 토토 핫 또는 토토 핫의 모든 행과 모든 하위 항목.
참고:상속 계층은 실제로 방향성 비순환 그래프.
예를 들어, 다음 쿼리는 모든 이름을 찾습니다. 주도를 포함한 고도에 위치한 도시 500피트 이상:
SELECT 이름, 고도
도시에서
고도 500;
반환:
이름 | 고도 ---------+---------- 라스베가스 | 2174 마리포사 | 1953년 매디슨 | 845
반면에 다음 쿼리는 모든 도시를 찾습니다. 주도가 아니고 고도가 높은 곳에 위치한 곳 500피트:
SELECT 이름, 고도
도시에서만
고도 500인 곳;
이름 | 고도
---------+----------
라스베가스 | 2174
마리포사 | 1953
여기는"만"도시 전 쿼리가 도시에서만 실행되어야 함을 나타냅니다. 상속 계층의 도시 아래에 있는 테이블입니다. 많은 이미 논의한 명령 --선택, 업데이트그리고삭제-- 이것을 지원하세요"만"표기법.
어떤 경우에는 특정 토토 핫이 어떤 것인지 알고 싶을 수도 있습니다. 행이 시작되었습니다. 라는 시스템 열이 있습니다.TABLEOID각 토토 핫에 있는 내용을 통해 원본 토토 핫:
SELECT c.tableoid, c.name, c.altitude 도시에서 c c.altitude 500;
반환:
토토 핫로이드 | 이름 | 고도 --------+------------+---------- 139793 | 라스베가스 | 2174 139793 | 마리포사 | 1953년 139798 | 매디슨 | 845
(이 예를 재현하려고 하면 아마도 다음과 같은 결과를 얻게 될 것입니다. 다른 숫자 OID.) 다음과 조인을 수행하여pg_class실제 토토 핫을 볼 수 있습니다 이름:
SELECT p.relname, c.name, c.altitude 도시 c, pg_class p에서 여기서 c.altitude 500 및 c.tableoid = p.oid;
반환:
relname | 이름 | 고도 --------+------------+---------- 도시 | 라스베가스 | 2174 도시 | 마리포사 | 1953년 수도 | 매디슨 | 845
지원 중단됨:이전 버전에서포스트그레SQL, 기본 동작은 다음과 같습니다. 쿼리에 하위 테이블을 포함합니다. 이는 다음과 같은 것으로 밝혀졌습니다. 오류가 발생하기 쉽고 SQL99 표준을 위반합니다. 이전 구문에서 추가한 하위 테이블을 얻으려면*토토 핫 이름에. 예를 들어
SELECT * 도시에서*;다음을 통해 하위 테이블 스캔을 명시적으로 지정할 수 있습니다. 추가*및 명시적으로 작성하여 하위 토토 핫을 스캔하지 않도록 지정"만". 하지만 버전 7.1부터 장식되지 않은 테이블 이름의 기본 동작은 테이블 이름을 스캔하는 것입니다. 하위 테이블도 마찬가지입니다. 이전에는 기본값을 사용하지 않았습니다. 그래서. 이전 기본 동작을 얻으려면 구성을 설정하십시오. 옵션SQL_상속끄기, 예를 들어,
SQL_Inheritance를 OFF로 설정;또는 다음 줄을 추가하세요.토토 핫.conf파일.
상속 기능의 제한은 색인이 (고유 제약 조건 포함) 및 외래 키 제약 조건만 상속된 하위 항목이 아닌 단일 테이블에 적용됩니다. 따라서, 위의 예에서는 다른 테이블의 열을 지정합니다.참조 도시(이름)허용할 것입니다 도시 이름은 포함하지만 대문자 이름은 포함하지 않는 다른 토토 핫입니다. 이 결함은 아마도 향후 릴리스에서 수정될 것입니다.