5.4. 와이즈 토토 된 열#

와이즈 토토 열은 항상 다른 열에서 계산되는 특수 열입니다. 따라서 열에 대한 뷰는 테이블에 대한 것입니다. 와이즈 토토 된 열에는 두 가지 종류가 있습니다 : 저장 및 가상. 저장된 와이즈 토토 열은 작성 (삽입 또는 업데이트)시 (삽입 또는 업데이트) 계산되며 마치 정상적인 열인 것처럼 저장을 차지합니다. 가상 와이즈 토토 열은 스토리지를 차지하지 않으며 읽을 때 계산됩니다. 따라서 가상 와이즈 토토 열은보기와 유사하고 저장된 와이즈 토토 열은 구체화 된 뷰와 유사합니다 (항상 자동으로 업데이트된다는 제외)..PostgreSQL현재 저장된 열만 구현합니다.

와이즈 토토 된 열을 만들려면를 사용하십시오.항상 와이즈 토토조항테이블 와이즈 토토, 예 :

테이블 사람 만들기 (
    ...,
    height_cm 숫자,
    height_in 숫자항상 와이즈 토토 (height_cm / 2.54) 저장된);

키워드저장저장된 와이즈 토토 열을 선택하려면 지정해야합니다. 보다PostgreSQL자세한 내용은

와이즈 토토 된 열은 직접 작성할 수 없습니다. 안에삽입또는업데이트명령, 와이즈 토토 된 열에 대해 값을 지정할 수 없지만 키워드기본값지정 될 수 있습니다.

기본값과 와이즈 토토 열이있는 열의 차이점을 고려하십시오. 열 기본값은 다른 값이 제공되지 않은 경우 행이 처음 삽입되면 한 번 평가됩니다. 행이 변경 될 때마다 와이즈 토토 된 열이 업데이트되고 재정의 할 수 없습니다. 열 기본값은 테이블의 다른 열을 참조 할 수 없습니다. 세대 표현은 일반적으로 그렇게 할 것입니다. 열 기본값은 휘발성 함수를 사용할 수 있습니다 (예 :random ()또는 현재 시간을 참조하는 함수; 와이즈 토토 된 열에는 허용되지 않습니다.

와이즈 토토 된 열과 관련된 와이즈 토토 된 열 및 테이블의 정의에 몇 가지 제한이 적용됩니다.

  • 와이즈 토토 표현식은 불변 함수 만 사용할 수 있으며 하위 쿼리를 사용하거나 어떤 식 으로든 현재 행 외에 다른 것을 참조 할 수 없습니다..

  • 세대 표현식은 다른 와이즈 토토 열을 참조 할 수 없습니다.

  • 와이즈 토토 표현식은을 제외하고 시스템 열을 참조 할 수 없습니다.Tableoid.

  • 와이즈 토토 된 열에 열 기본값 또는 ID 정의가 없을 수 있습니다.

  • 와이즈 토토 열이 파티션 키의 일부가 될 수 없습니다.

  • 외국 테이블은 열을 와이즈 토토 할 수 있습니다. 보다PostgreSQL자세한 내용.

  • 상속 및 분할 용 :

    • 상위 열이 와이즈 토토 된 열인 경우 하위 열은 와이즈 토토 열이어야합니다. 그러나 하위 열은 다른 세대 표현을 가질 수 있습니다. 행을 삽입하거나 업데이트하는 동안 실제로 적용되는 와이즈 토토 표현식은 행이 물리적으로 들어있는 테이블과 관련된 것입니다. (이것은 열 기본값의 동작과 다릅니다.

    • 상위 열이 와이즈 토토 된 열이 아닌 경우 자식 열을 와이즈 토토해서는 안됩니다.

    • 상속 테이블의 경우, 아무 것도없이 자식 열 정의를 작성하는 경우와이즈 토토조항테이블 작성 ... 상속, 그런 다음와이즈 토토조항은 부모로부터 자동으로 복사됩니다.Alter Table ... 상속부모와 자식 열이 이미 와이즈 토토 상태와 일치한다고 주장하지만 세대 표현이 일치하도록 요구하지는 않습니다..

    • 분할 된 테이블의 경우 유사하게, 당신이 아무 것도없이 자식 열 정의를 작성하는 경우와이즈 토토조항테이블 와이즈 토토 ... 파티션, 그런 다음와이즈 토토조항은 부모로부터 자동으로 복사됩니다.Alter Table ... 첨부 파티션부모와 자식 열이 이미 와이즈 토토 상태와 일치한다고 주장하지만 세대 표현이 일치하지 않아야한다고 주장합니다..

    • 다중 상속의 경우 한 부모 열이 와이즈 토토 된 열인 경우 모든 상위 열이 열을 와이즈 토토해야합니다. 그들이 모두 같은 세대 표현을 가지고 있지 않다면, 아동에 대한 원하는 표현은 명시 적으로 지정되어야합니다.

와이즈 토토 된 열의 사용에 추가 고려 사항이 적용됩니다.

  • 와이즈 토토 된 열은 기본 기본 열과 별도로 액세스 권한을 유지합니다. 따라서 특정 역할이 와이즈 토토 된 열에서 읽을 수 있지만 기본 기본 열에서 읽을 수 있도록 준비 할 수 있습니다.

  • 와이즈 토토 된 열은 개념적으로 이후에 업데이트되었습니다트리거가 실행되었습니다. 따라서 a의 기본 열로 변경됩니다.트리거는 와이즈 토토 된 열에 반영됩니다. 그러나 반대로, 와이즈 토토 된 열에 액세스 할 수 없습니다트리거.

  • 와이즈 토토 된 열이 논리적 복제를 위해 건너 뜁니다.출판물 만들기열 목록.

수정 제출

문서에 올바른 것이 없다면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면