지원되지 않는 버전 :7.0 / 6.5 / 6.4
이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다현재버전 또는 위에 나열된 다른 지원되는 버전 중 하나입니다.

73 장. 고급Postgres SQL윈 토토

사용의 기본 사항을 다루었습니다Postgres SQLTO 데이터에 액세스하면 이제의 윈 토토에 대해 논의 할 것입니다.Postgres그것을 구별합니다 기존 데이터 관리자. 이러한 윈 토토에는 상속, 시간 여행 및 비 원자 데이터 값 (배열 및 세트 값 속성). 이 섹션의 예는에서도 찾을 수 있습니다.Advance.sql튜토리얼 디렉토리의. (참조72 장사용 방법 그것.)

상속

두 클래스를 만들어 봅시다. 수도 클래스에는 상태가 포함되어 있습니다 도시 인 수도. 당연히 수도 클래스 도시에서 물려 받아야합니다.

테이블 도시 생성 (
    이름 텍스트,
    모집단 플로트,
    고도 int- (FT)
);

테이블 캐피탈 생성 (
    상태 문자 (2)
) 상속 (도시);
이 경우 수도 인스턴스상속모든 속성 (이름, 모집단 및 고도) 부모, 도시로부터. 속성 이름의 유형입니다 이다텍스트, 네이티브Postgres가변 길이 ASCII를 입력하십시오 문자열. 속성 모집단의 유형은float, 네이티브Postgres이중 정밀 부동액을 입력하십시오 포인트 번호. 주 수도에는 추가 속성, 상태가 있습니다 그들의 상태를 보여줍니다. 안에Postgres, a 클래스는 0 개 이상의 다른 클래스에서 상속 될 수 있으며 쿼리는 클래스의 모든 인스턴스 또는 모든 인스턴스를 참조하십시오. 클래스 플러스 모든 자손.

참고 :상속 계층은 지시 된 acyclic입니다 그래프.

예를 들어, 다음 쿼리는 모든 도시를 찾습니다 500 피트 이상의 태도에 위치하고 있습니다 :
이름, 고도를 선택하십시오
    도시에서
    여기서 고도 500;

+----------+----------+
| 이름 | 고도 |
+----------+----------+
| 라스 베이거스 | 2174 |
+----------+----------+
| 마리포사 | 1953 |
+----------+----------+

반면에, 모든 도시의 이름을 찾기 위해 500 피트 이상의 고도에 위치한 주 수도, 쿼리는 :

C.Name, C.Altitude를 선택하십시오
    도시에서* c
    여기서 c.altitude 500;
반환 :
+----------+----------+
| 이름 | 고도 |
+----------+----------+
| 라스 베이거스 | 2174 |
+----------+----------+
| 마리포사 | 1953 |
+----------+----------+
| 매디슨 | 845 |
+----------+----------+
여기서 "*"도시 후에는 쿼리가 상속의 도시 아래 도시와 모든 수업을 통해 달리기 계층. 우리가 이미 논의한 많은 명령 (select, 업데이트and삭제)이 상속 표기법을 지원합니다 다른 명령과 마찬가지로 "*"사용Alter.