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

13 장. 토토 꽁 머니

참고 :이것은 토토 꽁 머니 동작에 관한 장이되어야합니다. 자원 봉사자? -Thomas 1998-01-12

Postgres속성 허용 인스턴스는 고정 길이 또는 가변 길이로 정의됩니다 다차원 토토 꽁 머니. 기본 유형 또는 사용자 정의의 토토 꽁 머니 유형을 만들 수 있습니다. 그들의 사용을 설명하기 위해 먼저 우리는 a를 만듭니다 기본 유형의 토토 꽁 머니이있는 클래스.

테이블 생성 sal_emp (
    이름 텍스트,
    pay_by_quarter int4 [],
    일정 텍스트 [] []
);

위의 쿼리는 a와 함께 sal_emp라는 클래스를 생성합니다.텍스트문자열 (이름), 1 차원 토토 꽁 머니int4(pay_by_quarter) 직원의 급여는 분기별로, 2 차원을 나타냅니다 토토 꽁 머니텍스트(일정) 직원의 주간 일정. 이제 우리는 몇 가지를합니다삽입s; 토토 꽁 머니에 추가 할 때 우리는 버팀대 내의 값을 둘러싸고 쉼표로 분리하십시오. 만약에 알잖아C, 이것은 구문과 다릅니다 구조 초기화.

sal_emp에 삽입하십시오
    값 ( 'Bill',
    '10000, 10000, 10000, 10000',
    ' "meeting", "lunch", ');

sal_emp에 삽입하십시오
    값 ( '캐롤',
    '20000, 25000, 25000, 25000',
    ' "talk", "consult",  "meeting"');
기본적으로Postgres용도 토토 꽁 머니에 대한 "일원 기반"번호 컨벤션, 즉 N 요소의 토토 꽁 머니은 토토 꽁 머니 [1]으로 시작하여 토토 꽁 머니 [n]으로 끝납니다. 이제 sal_emp에서 몇 가지 쿼리를 실행할 수 있습니다. 먼저, 우리는 방법을 보여줍니다 한 번에 토토 꽁 머니의 단일 요소에 액세스하십시오. 이 쿼리가 검색됩니다 2 분기에 급여가 바뀌는 직원의 이름 :
이름을 선택하십시오
    sal_emp에서
    여기서 sal_emp.pay_by_quarter [1] <
    sal_emp.pay_by_quarter [2];

+------+
| 이름 |
+------+
| 캐롤 |
+------+

이 쿼리는 모든 직원의 3 분기 급여를 검색합니다.

sal_emp에서 sal_emp.pay_by_quarter [3]를 선택하십시오.

+---------------+
| pay_by_quarter |
+---------------+
| 10000 |
+---------------+
| 25000 |
+--------------+

우리는 또한 배열 또는 서브 토토 꽁 머니의 임의의 슬라이스에 액세스 할 수 있습니다. 이 쿼리는 Bill의 일정에 따라 첫 번째 항목을 검색합니다. 주 1 주일.

sal_emp.schedule 선택 [1 : 2] [1 : 1]
    sal_emp에서
    여기서 sal_emp.name = 'Bill';

+-------------------+
| 일정 |
+-------------------+
|  "meeting",  "" |
+-------------------+