CREATE TABLE AS — 쿼리 결과에서 새 롤 토토 정의
[ [ 글로벌 | 로컬 ] 임시 | 온도 | 기록되지 않음 ] 롤 토토 [ 존재하지 않는 경우 ]롤 토토_이름[ (컬럼_이름[, ...] ) ] [ 사용 중메서드] [ 와 함께 (storage_parameter[=값] [, ... ] ) | OIDS 없음] [ 커밋 중 행 보존 | 행 삭제 | 떨어지다 ] [롤 토토스페이스롤 토토스페이스_이름] 처럼질의[ [ 없음 ] 데이터 포함 ]
다음으로 롤 토토 생성롤 토토을 생성하고 a가 계산한 데이터로 채웁니다.선택명령. 롤 토토 열에는의 출력 열과 연결된 이름과 데이터 유형이 있습니다.선택(새 열 이름의 명시적인 목록을 제공하여 열 이름을 재정의할 수 있다는 점은 제외).
다음으로 롤 토토 생성뷰 생성과 일부 유사하지만 실제로는 매우 다릅니다. 즉, 새 롤 토토을 생성하고 처음에 새 롤 토토을 채우기 위해 쿼리를 한 번만 평가합니다. 새 롤 토토은 쿼리 소스 롤 토토에 대한 후속 변경 사항을 추적하지 않습니다. 대조적으로, 뷰는 자신의 정의를 재평가합니다.선택쿼리될 때마다 진술합니다.
글로벌또는로컬호환성을 위해 무시되었습니다. 이러한 키워드는 더 이상 사용되지 않습니다. 참조롤 토토 생성자세한 내용은.
임시또는온도지정되면 테이블이 임시 테이블로 생성됩니다. 참조롤 토토 생성자세한 내용은.
기록되지 않음지정되면 롤 토토은 기록되지 않은 롤 토토로 생성됩니다. 참조롤 토토 생성자세한 내용은.
존재하지 않는 경우동일한 이름을 가진 관계가 이미 존재하는 경우 오류를 발생시키지 마십시오. 간단히 통지를 발행하고 롤 토토을 수정하지 않은 채로 두십시오.
롤 토토_이름생성될 테이블의 이름(선택적으로 스키마 한정).
컬럼_이름새 롤 토토의 열 이름. 열 이름이 제공되지 않으면 쿼리의 출력 열 이름에서 가져옵니다.
사용 중방법이 선택적 절은 새 테이블의 내용을 저장하는 데 사용할 테이블 액세스 방법을 지정합니다. 메소드는 유형의 액세스 메소드여야 합니다.표. 보다PostgreSQL : 문서 : 12 : 60 장. 테이블 토토 캔 방법 인터페이스 정의14938_15061default_table_access_method더 많은 정보를 원하시면.
함께 (storage_parameter [= 값] [, ... ] )이 절은 새 테이블에 대한 선택적 저장 매개변수를 지정합니다. 보다저장 매개변수15642_15698함께테이블에 대한 절에는 다음도 포함될 수 있습니다.OIDS=FALSE새 롤 토토의 행에 OID(객체 식별자)가 포함되지 않도록 지정하려면,OIDS=TRUE더 이상 지원되지 않습니다.
OIDS 제외이것은 테이블 선언을 위한 이전 버전과 호환되는 구문입니다.OIDS 제외, 롤 토토 생성OIDS 포함더 이상 지원되지 않습니다.
커밋 중트랜잭션 블록 끝의 임시 테이블 동작은 다음을 사용하여 제어할 수 있습니다.커밋 중. 세 가지 옵션은 다음과 같습니다.
행 보존트랜잭션 종료 시 특별한 조치가 취해지지 않습니다. 이것이 기본 동작입니다.
행 삭제임시 테이블의 모든 행은 각 트랜잭션 블록이 끝날 때 삭제됩니다. 기본적으로 자동잘라내기커밋할 때마다 완료됩니다.
드롭임시 테이블은 현재 트랜잭션 블록이 끝나면 삭제됩니다.
롤 토토스페이스롤 토토스페이스_이름그롤 토토스페이스_이름은 새 테이블이 생성될 롤 토토스페이스의 이름입니다. 지정하지 않은 경우,default_tablespace상담되었거나temp_tablespaces테이블이 임시 테이블인 경우.
질의[ 없음 ] 데이터 포함이 절은 쿼리에 의해 생성된 데이터를 새 롤 토토에 복사해야 하는지 여부를 지정합니다. 그렇지 않으면 롤 토토 구조만 복사됩니다. 기본값은 데이터를 복사하는 것입니다.
이 명령은 기능적으로 다음과 유사합니다.선택, 그러나 다른 용도와 혼동될 가능성이 적기 때문에 선호됩니다.선택구문. 뿐만 아니라,다음으로 롤 토토 생성에서 제공하는 기능의 상위 집합을 제공합니다.선택.
새 롤 토토 생성films_recent롤 토토의 최근 항목으로만 구성됨영화:
CREATE TABLE 영화_최근 AS SELECT * FROM 영화 WHERE date_prod = '2002-01-01';
테이블을 완전히 복사하려면 다음을 사용하는 짧은 형식을 사용하세요.표다음 명령도 사용할 수 있습니다.
CREATE TABLEfilms2 AS 표 영화;
새 임시 롤 토토 생성films_recent, 롤 토토의 최근 항목으로만 구성됨영화, 준비된 문을 사용합니다. 새 롤 토토은 커밋 시 삭제됩니다.
최근 영화(날짜) AS 준비
SELECT * FROM 영화 WHERE date_prod $1;
CREATE TEMP TABLE 영화_최근 ON COMMIT DROP AS
EXECUTE 최근 영화('2002-01-01');
다음으로 롤 토토 생성다음을 준수함SQL표준. 다음은 비표준 확장입니다.
표준에서는 하위 쿼리 절 주위에 괄호가 필요합니다. 안에포스트그레SQL, 이 괄호는 선택사항입니다.
표준에서는[ 없음 ] 데이터 포함절이 필요합니다. PostgreSQL에서는 선택사항입니다.
포스트그레SQL표준과는 다소 다른 방식으로 임시 테이블을 처리합니다. 보다롤 토토 생성자세한 내용은.
그함께절은 a입니다포스트그레SQL확장; 저장 매개변수는 표준에 없습니다.
그PostgreSQL롤 토토스페이스 개념은 표준의 일부가 아닙니다. 따라서 조항롤 토토스페이스확장 프로그램입니다.