참고:이것은 무지개 토토 동작에 관한 장이 되어야 합니다. 자원봉사자? - 토마스 1998-01-12
포스트그레다음의 속성을 허용합니다. 가변 길이 다차원 배열로 정의되는 클래스입니다. 모든 내장 유형 또는 사용자 정의 유형의 배열을 생성할 수 있습니다. 받는 사람 사용법을 설명하기 위해 다음 클래스를 만듭니다.
테이블 생성 sal_emp(
이름 텍스트,
pay_by_quarter int4[],
일정 텍스트[][]
);
위 쿼리는 이름이 지정된 클래스를 생성합니다.sal_emp와텍스트문자열 (이름),의 1차원 무지개 토토int4(pay_by_quarter), 직원의 급여를 나타냅니다. 분기 및 2차원 무지개 토토텍스트(일정), 이는 직원의 주간 일정. 이제 좀 해보겠습니다삽입s; 무지개 토토에 추가할 때 값을 무지개 토토 안에 포함합니다. 중괄호로 묶고 쉼표로 구분하세요. 알고 계시다면C, 이는 초기화 구문과 다르지 않습니다. 구조.
sal_emp에 삽입
VALUES('빌',
'10000, 10000, 10000, 10000',
'"회의", "점심", ');
sal_emp에 삽입
VALUES('캐롤',
'20000, 25000, 25000, 25000',
'"대화", "상담", "회의"');이제 sal_emp에 대해 몇 가지 쿼리를 실행할 수 있습니다. 먼저 방법을 보여드리겠습니다.
한 번에 배열의 단일 요소에 액세스합니다. 이 쿼리
급여가 변경된 직원의 이름을 검색합니다.
2분기:sal_emp에서 이름 선택 WHERE pay_by_quarter[1] < pay_by_quarter[2]; 이름 ------- 캐롤 (1행)포스트그레스다음을 사용합니다 배열에 대한 "1 기반" 번호 매기기 규칙 --- 즉, 배열 n개 요소 중 배열[1]로 시작하고 배열[n]으로 끝납니다.
이 쿼리는 모든 직원의 3분기 급여를 검색합니다:
sal_emp에서 pay_by_quarter[3] 선택;
분기별로 지불
----------------
10000
25000
(2행)
우리는 또한 무지개 토토의 임의의 조각 또는 하위 무지개 토토에 접근할 수 있습니다. 무지개 토토 슬라이스는 "하위 첨자 : 상위"로 표시됩니다. 하나 이상의 무지개 토토 차원에 대한 아래 첨자'입니다. 이 쿼리는 검색합니다 Bill의 첫 이틀 일정의 첫 번째 항목 주:
일정 선택[1:2][1:1] FROM sal_emp WHERE 이름 = 'Bill';
일정
-------
"회의",""우리는 또한 글을 쓸 수도 있었습니다일정 선택[1:2][1] FROM sal_emp WHERE 이름 = 'Bill';같은 결과입니다.
무지개 토토 값은 완전히 대체될 수 있습니다:
UPDATE sal_emp SET pay_by_quarter = '25000,25000,27000,27000'
WHERE 이름 = '캐롤';또는 단일 항목에서 업데이트됨:UPDATE sal_emp SET pay_by_quarter[4] = 15000
WHERE 이름 = '빌';또는 슬라이스에서 업데이트됨:UPDATE sal_emp SET pay_by_quarter[1:2] = '27000,27000'
WHERE 이름 = '캐롤';
현재는 다음을 제외하고는 배열 값의 크기를 조정할 수 없습니다 완전한 교체; 예를 들어, 우리는 4를 변경할 수 없습니다. 요소 배열 값을 단일 요소를 사용하여 5개 요소 값으로 배열[5]에 할당합니다.
CREATE TABLE 구문을 사용하면 고정 길이 무지개 토토을 사용할 수 있습니다. 정의됨:
테이블 tictactoe 생성(
사각형 int4[3][3]
);그러나 현재 구현은
배열 크기 제한 --- 동작은 배열의 경우와 동일합니다.
길이가 지정되지 않았습니다.