범퍼카 토토된 열은 항상 다른 열에서 계산되는 특수 열입니다. 따라서 테이블에 대한 뷰는 열에 대한 것입니다. 범퍼카 토토된 열에는 저장된 열과 가상 열의 두 가지 종류가 있습니다. 저장된 범퍼카 토토 열은 쓰기(삽입 또는 업데이트) 시 계산되어 일반 열인 것처럼 스토리지를 차지합니다. 가상 범퍼카 토토 열은 스토리지를 차지하지 않으며 읽을 때 계산됩니다. 따라서 가상 범퍼카 토토 열은 뷰와 유사하고 저장된 범퍼카 토토 열은 구체화된 뷰와 유사합니다(항상 자동으로 업데이트된다는 점만 제외).
생성된 열을 생성하려면 다음을 사용하십시오.항상 다음과 같이 범퍼카 토토됨절테이블 범퍼카 토토, 예:
테이블 사용자 범퍼카 토토(
...,
height_cm 숫자,
height_in 숫자항상 다음과 같이 범퍼카 토토됨 (height_cm / 2.54)
);
범퍼카 토토된 열은 기본적으로 가상 종류입니다. 키워드를 사용하세요가상또는저장됨선택을 명시적으로 만듭니다. 참조테이블 범퍼카 토토자세한 내용은.
범퍼카 토토된 열은 직접 쓸 수 없습니다. 에서삽입또는업데이트명령, 범퍼카 토토된 열에는 값을 지정할 수 없지만 키워드기본값지정될 수 있습니다.
기본값이 있는 열과 생성된 열 사이의 차이점을 고려하십시오. 다른 값이 제공되지 않은 경우 행이 처음 삽입될 때 열 기본값이 한 번 평가됩니다. 생성된 열은 행이 변경될 때마다 업데이트되며 재정의될 수 없습니다. 열 기본값은 테이블의 다른 열을 참조할 수 없습니다. 일반적으로 세대 표현이 그렇게 합니다. 열 기본값은 휘발성 함수를 사용할 수 있습니다. 예를 들어무작위()또는 현재 시간을 참조하는 함수; 생성된 열에는 허용되지 않습니다.
범퍼카 토토된 열과 범퍼카 토토된 열이 포함된 테이블의 정의에는 몇 가지 제한사항이 적용됩니다.
생성 표현식은 불변 함수만 사용할 수 있으며 하위 쿼리를 사용하거나 어떤 방식으로든 현재 행 이외의 항목을 참조할 수 없습니다.
범퍼카 토토 표현식은 다른 범퍼카 토토된 열을 참조할 수 없습니다.
생성 표현식은 다음을 제외하고 시스템 열을 참조할 수 없습니다.테이블로이드.
가상 생성 열은 사용자 정의 유형을 가질 수 없으며 가상 생성 열의 생성 표현식은 사용자 정의 함수 또는 유형을 참조해서는 안 됩니다. 즉, 내장 함수 또는 유형만 사용할 수 있습니다. 이는 연산자나 캐스트의 기초가 되는 함수나 유형과 같이 간접적으로도 적용됩니다. (저장된 생성 열에는 이 제한이 존재하지 않습니다.)
생성된 열은 열 기본값이나 ID 정의를 가질 수 없습니다.
범퍼카 토토된 열은 파티션 키의 일부가 될 수 없습니다.
외부 테이블에는 범퍼카 토토된 열이 있을 수 있습니다. 참조외부 테이블 범퍼카 토토자세한 내용은.
상속 및 파티셔닝의 경우:
상위 열이 생성된 열인 경우 하위 열도 동일한 종류(저장 또는 가상)의 생성 열이어야 합니다. 그러나 하위 열은 다른 생성 표현식을 가질 수 있습니다.
저장된 생성 열의 경우, 행 삽입 또는 업데이트 중에 실제로 적용되는 생성 표현식은 행이 물리적으로 있는 테이블과 연관된 생성 표현식입니다. (이는 열 기본값의 동작과 다릅니다. 이러한 경우 쿼리에 명명된 테이블과 연관된 기본값이 적용됩니다.) 가상 생성 컬럼의 경우, 테이블을 읽을 때 쿼리에 명명된 테이블의 생성 표현식이 적용됩니다.
상위 열이 범퍼카 토토된 열이 아닌 경우 해당 하위 열도 범퍼카 토토되어서는 안 됩니다.
상속된 테이블의 경우, 하위 열 정의를 아무것도 없이 작성하는 경우범퍼카 토토됨절테이블 범퍼카 토토 ... 상속그럼 그거야범퍼카 토토됨절은 상위 항목에서 자동으로 복사됩니다.테이블 변경 ... 상속세대 상태에 관해 상위 및 하위 열이 이미 일치한다고 주장하지만 세대 표현식이 일치하도록 요구하지는 않습니다.
분할된 테이블의 경우와 유사하게, 아무 것도 없이 하위 열 정의를 작성하는 경우범퍼카 토토됨절테이블 범퍼카 토토 ... 파티션그럼 그거야범퍼카 토토됨절은 상위 항목에서 자동으로 복사됩니다.테이블 변경 ...파티션 연결세대 상태에 관해 상위 및 하위 열이 이미 일치한다고 주장하지만 세대 표현식이 일치하도록 요구하지는 않습니다.
다중 상속의 경우 하나의 상위 열이 범퍼카 토토된 열이면 모든 상위 열은 범퍼카 토토된 열이어야 합니다. 모두 동일한 범퍼카 토토 표현식이 없는 경우 하위 항목에 대해 원하는 표현식을 명시적으로 지정해야 합니다.
범퍼카 토토된 열 사용 시 추가 고려사항이 적용됩니다.
범퍼카 토토된 열은 기본 열과 별도로 액세스 권한을 유지합니다. 따라서 특정 역할이 범퍼카 토토된 열에서는 읽을 수 있지만 기본 열에서는 읽을 수 없도록 배열하는 것이 가능합니다.
가상 생성 열의 경우 생성 표현식이 누출 방지 기능만 사용하는 경우에만 완전히 안전합니다(참조함수 범퍼카 토토), 하지만 이는 시스템에 의해 시행되지 않습니다.
생성 표현식에 사용된 함수의 권한은 생성 표현식이 생성된 열을 사용하여 쿼리에서 직접 호출된 것처럼 생성 표현식이 실제로 실행될 때 각각 쓰기 또는 읽기 시 검사됩니다. 생성된 열의 사용자에게는 생성 표현식에서 사용되는 모든 함수를 호출할 수 있는 권한이 있어야 합니다. 생성 표현식의 함수는 함수 정의 여부에 따라 쿼리를 실행하는 사용자 또는 함수 소유자의 권한으로 실행됩니다.보안 호출자또는보안 정의자.
생성된 열은 개념적으로 다음 이후에 업데이트됩니다.이전트리거가 실행되었습니다. 따라서 a의 기본 열이 변경되었습니다.이전트리거는 범퍼카 토토된 열에 반영됩니다. 그러나 반대로 범퍼카 토토된 열에는 액세스할 수 없습니다.이전트리거.
생성된 열은 다음에 따라 논리적 복제 중에 복제가 허용됩니다.간행물 작성매개변수publish_generated_columns또는 열 목록에 포함하여간행물 작성명령. 이는 현재 저장된 생성 열에 대해서만 지원됩니다. 보다윈 토토 PostgreSQL : 문서 : 개발 : 2009.6. 생성 된 열 복제자세한 내용은.