이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다스포츠 토토 베트맨 PostgreSQL : 문서 : 17 : Alter Table버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

변경 테이블

이름

스포츠 토토 베트맨 테이블-a의 정의를 변경하십시오 테이블

시놉시스

스포츠 토토 베트맨 Table [Only]이름[ *]
    [칼럼] 추가 type[column_constraint[...]]
스포츠 토토 베트맨 Table [Only]이름[ *]
    드롭 [칼럼][제한 | 캐스케이드]
스포츠 토토 베트맨 Table [Only]이름[ *]
    스포츠 토토 베트맨 [column]set default표현| 삭제 기본값이름[ *]
    스포츠 토토 베트맨 [column]set | drop null이 아닙니다
스포츠 토토 베트맨 Table [Only]이름[ *]
    스포츠 토토 베트맨 [column]통계 설정정수스포츠 토토 베트맨 Table [Only]이름[ *]
    스포츠 토토 베트맨 [column]스토리지 세트 plain | 외부 | 확장 | 기본이름[ *]
    OID없이 설정합니다
스포츠 토토 베트맨 Table [Only]이름[ *]
    이름 바꾸기 [칼럼]toNew_Column스포츠 토토 베트맨 Table이름이름 바꾸기new_name스포츠 토토 베트맨 Table [Only]이름[ *]
    추가하다table_constraint스포츠 토토 베트맨 Table [Only]이름[ *]
    드롭 제약 조건제약 _name[제한 | 캐스케이드]
알터 테이블이름소유자에게New_owner스포츠 토토 베트맨 Table이름클러스터 onindex_name

설명

스포츠 토토 베트맨 Table정의를 변경합니다 기존 테이블. 몇 가지 하위 형태가 있습니다.

열 추가

이 양식은 동일한 것을 사용하여 테이블에 새 열을 추가합니다. 구문 ASPostgreSQL : 문서.

이 양식은 테이블에서 열을 삭제합니다. 인덱스 및 테이블 열과 관련된 제약 조건은 자동으로됩니다 도 떨어졌습니다. 당신은 말해야 할 것입니다캐스케이드테이블 외부의 것이 있으면 예를 들어 외국의 주요 참조와 같은 열에 따라 다릅니다 또는 견해.

SET/드롭 기본

이 양식은 열. 기본값은 후속에만 적용삽입명령; 그들은 원인이되지 않습니다 이미 테이블에있는 줄이 변경됩니다. 기본값도있을 수 있습니다 뷰를 위해 만들어졌으며,이 경우 삽입삽입보기에 대한 진술 보기 전에insert규칙 적용됩니다.

set/드롭하지 마십시오 널

이 양식은 열이 허용하도록 표시되는지 여부를 변경합니다. 널 값 또는 널 값을 거부합니다. 당신은 만 사용할 수 있습니다널 설정열면 널 값이 포함되어 있지 않습니다.

통계 설정

이 양식은 컬럼 당 통계 수집을 설정합니다 후속 대상분석운영. 대상은 할 수 있습니다 범위 0 ~ 1000으로 설정해야합니다. 대안 적으로, -1로 설정하십시오 시스템 기본 통계 사용으로 되돌아갑니다 목표.

스토리지 설정

이 양식은 열의 스토리지 모드를 설정합니다. 이것 이 칼럼이 인라인으로 유지되는지 또는 보충 테이블 및 데이터 여부 압축 여부.일반와 같은 고정 길이 값에 사용Integer그리고 인라인, 냉정하지 않습니다.Main인라인, 압축 가능한 데이터입니다.외부외부를위한 것입니다. 압축되지 않은 데이터 및확장is 외부, 압축 데이터의 경우확장는 모든 데이터 유형의 기본값입니다 그것은 그것을지지합니다. 사용외부예를 들어 하위 문자열을 만들 것입니다 A 작업텍스트더 빠른 열, 저장 공간 증가의 형벌에서.

OIDS없이 설정

이 양식은를 제거합니다.OID테이블에서 열. 테이블에서 OID를 제거하는 것은 아닙니다 즉시 발생합니다. OID가 사용하는 공간 행이 업데이트 될 때 되 찾으십시오. 업데이트하지 않고 행, 공간과 OID의 가치는 유지됩니다. 무기한. 이것은 의미 적으로와 유사합니다삭제 열프로세스.

Rename

theRename양식 변경 테이블 이름 (또는 인덱스, 시퀀스 또는보기) 또는 테이블에서 개별 열의 이름. 효과가 없습니다 저장된 데이터에서.

addtable_constraint

이 양식은 동일한 구문테이블 생성.

드롭 제약 조건

이 양식은 테이블에 제약 조건을 떨어 뜨립니다. 현재, 테이블의 제약 조건은 고유 할 필요가 없습니다 이름, 따라서 하나 이상의 제약 조건이 일치 할 수 있습니다. 지정된 이름. 그러한 모든 제약이 될 것입니다 떨어졌다.

소유자

이 양식은 테이블의 소유자, 색인을 변경합니다. 시퀀스 또는 지정된 사용자를 봅니다.

클러스터

이 양식은 미래를위한 테이블을 표시합니다클러스터운영.

당신은 사용할 테이블을 소유해야합니다스포츠 토토 베트맨 테이블; 을 제외하고알터 테이블 소유자, 슈퍼업자에 의해서만 실행될 수 있습니다.

매개 변수

이름

기존의 이름 (schema-qualified) 변경되는 테이블. 만약에전용is 지정되면 해당 테이블 만 변경됩니다. 만약에전용18433_18524*테이블 이름에 추가 할 수 있습니다 자손 테이블이 변경되어야하지만 현재 버전은 기본 동작입니다. (안에 7.1 이전에 출시,전용기본 동작. 기본값은 변경하여 변경 될 수 있습니다 구성 매개 변수SQL_INHERITANCE.)

컬럼

새 또는 기존 열의 이름.

타입

새 열의 데이터 유형.

New_Column

기존 열의 새 이름.

new_name

테이블의 새 이름.

table_constraint

테이블에 대한 새로운 테이블 제약 조건.

제약 _name

삭제할 기존 제약 조건의 이름.

New_owner

테이블의 새 소유자의 사용자 이름.

index_name

테이블을 표시 해야하는 색인 ​​이름 클러스터링.

캐스케이드

드롭에 의존하는 객체를 자동으로 드롭합니다 열 또는 제약 조건 (예 : 참조를 참조합니다 열).

제한

어떤 경우 열이나 제약 조건을 삭제하는 것을 거부합니다. 종속 객체. 이것은 기본 동작입니다.

노트

키워드소음과 할 수 있습니다 생략하십시오.

현재의 구현에서추가 열, 기본 및NOT NULL새 열의 조항은 지원되지 않습니다. 새 열 항상 모든 값을 널 널로 사용하게됩니다. 를 사용할 수 있습니다.기본값 설정형태스포츠 토토 베트맨 Table나중에 기본값을 설정합니다. (당신은 할 수 있습니다 또한 이미 기존 행을 새 기본값으로 업데이트하고 싶습니다. 값, 사용PostgreSQL : 문서 : 7.4 : 토토 베이.) if 당신은 열이 아닌 열을 표시하려고합니다.를 사용하십시오.널 설정널에 입력 한 후 양식 모든 행의 열 값.

the삭제 열양식은 그렇지 않습니다 칼럼을 물리적으로 제거하지만 단순히 보이지 않게 만듭니다. SQL 작업. 후속 삽입 및 업데이트 작업 테이블은 열에 널 값을 저장합니다. 따라서 삭제하는 a 열은 빠르지 만 디스크가 즉시 줄어들지는 않습니다. 삭제 된 열이 차지하는 공간으로 테이블의 크기 재생되지 않습니다. 공간은 시간이 지남에 따라 재생됩니다 기존 행이 업데이트됩니다. 한 번에 공간을 되 찾으려면 a 더미업데이트모든 행의 진공 청소기 :

업데이트 테이블 세트 col = col;
진공 전체 테이블;

테이블에 자손 테이블이 있으면 허용되지 않습니다. 동일하지 않고 부모 테이블의 열을 추가하거나 바꾸십시오. 후손에게. 즉,알터 테이블 오직거부됩니다. 이것은 후손들을 보장합니다 항상 부모와 일치하는 열이 있습니다.

재귀낙하 열작동 후손 인 경우에만 자손 테이블의 칼럼을 제거합니다. 다른 부모로부터 그 칼럼을 물려받지 않으며 결코 열의 독립적 인 정의. 비 재수낙하 열(예 :스포츠 토토 베트맨 테이블 만 ... 드롭 열) 절대 제거하지 마십시오 자손 기둥은 모두 독립적으로 표시됩니다 상속보다는 정의됩니다.

시스템 카탈로그 테이블의 일부 변경은 허용.

참조테이블 생성더 유효한 매개 변수에 대한 설명.PostgreSQL : 문서 : 7.4 : 와이즈 토토 정의상속에 대한 추가 정보가 있습니다.

예제

유형 열을 추가하려면Varchara 테이블:

스포츠 토토 베트맨 테이블 분배기 열 주소 추가 VarChar (30);

테이블에서 열을 삭제하려면 :

ALTER 테이블 유통 업체 드롭 열 주소 제한;

기존 열 이름을 바꾸려면 :

스포츠 토토 베트맨 Table Distributors City로 열 주소를 바꾸는 것;

기존 테이블의 이름을 바꾸려면 :

스포츠 토토 베트맨 Table Distributors 공급 업체로 이름 바꾸기;

열에 널없는 구속 조건을 추가하려면 :

스포츠 토토 베트맨 Table Distributors 스포츠 토토 베트맨 Column Street Set Not Null;

열에서 널없는 제약 조건을 제거하려면 :

스포츠 토토 베트맨 Table Distributors 스포츠 토토 베트맨 Column Street Drop이 NULL;

테이블에 확인 제약 조건을 추가하려면 :

스포츠 토토 베트맨 테이블 분배기 추가 제약 조건 Zipchk Check (char_length (zipcode) = 5);

테이블과 모든 수표 제약 조건을 제거하려면 어린이들:

ALTER 테이블 유통 업체 드롭 제약 조건 ZIPCHK;

표에 외래 키 제약 조건을 추가하려면 :

ALTER 테이블 분배기 추가 제약 조건 DISTFK 외국 키 (주소) 참조 주소 (주소) 일치;

테이블에 (멀티 컬럼) 고유 한 제약 조건을 추가하려면 :

스포츠 토토 베트맨 테이블 분배기 추가 제약 조건 DIST_ID_ZIPCODE_KEY CIRITED (DIST_ID, ZIPCODE);

자동으로 명명 된 1 차 키 제약 조건을 테이블, 테이블에는 1 차 하나만있을 수 있음을 알 수 있습니다. 열쇠:

스포츠 토토 베트맨 Table Distributors 추가 기본 키 (dist_id);

호환성

the열 추가양식은 지원하지 않는 것을 제외하고 SQL 표준 위에서 설명한대로 기본값과 불가사의 제약 조건. 그만큼스포츠 토토 베트맨 Column양식이 완전했습니다 적합성.

테이블, 열, 인덱스, 뷰 이름을 바꾸는 조항 시퀀스는PostgreSQLSQL 표준의 확장.

스포츠 토토 베트맨 Table Drop Column를 사용할 수 있습니다 테이블의 유일한 열을 떨어 뜨리고 제로 컬럼 테이블을 남깁니다. 이것은 SQL의 확장으로 제로 컬럼을 분해합니다 테이블.