이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.스포츠 토토 베트맨 PostgreSQL : 문서 : 17 : Alter Table버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

변경 표

이름

ALTER 토토 꽁 머니  --  정의 변경 테이블

시놉시스

테이블 변경 [ 전용 ]테이블[ * ]
    추가 [ 열 ] 유형 [ column_constraint[ ... ] ]
테이블 변경 [만 해당]테이블[ * ]
    드롭 [ 열 ][ 제한 | 캐스케이드 ]
테이블 변경 [만 해당]테이블[ * ]
    변경 [ 열 ]기본값으로 설정| 기본값 삭제테이블[ * ]
    변경 [ 열 ]설정 | 삭제  NULL이 아님
테이블 변경 [만 해당]테이블[ * ]
    변경 [ 열 ]통계 설정정수테이블 변경 [만]테이블[ * ]
    변경 [ 열 ]저장소 설정  일반 | 외부 | 확장 | 메인테이블[ * ]
    [ 열 ] 이름 바꾸기받는 사람new_column테이블 변경테이블다음으로 이름 바꾸기new_토토 꽁 머니테이블 변경 [ 전용 ]테이블[ * ]
    추가토토 꽁 머니_constraint테이블 변경 [만]테이블[ * ]
    제약 조건 삭제제약_이름[ 제한 | 캐스케이드 ]
테이블 변경테이블소유자:new_owner 

입력

테이블

기존의 이름(스키마 한정) 변경할 테이블입니다. 만일이다 지정하면 해당 테이블만 변경됩니다. 만일지정되지 않았습니다. 테이블과 모든 하위 테이블(있는 경우)이 업데이트됩니다.*테이블 이름에 다음을 추가할 수 있습니다. 하위 테이블을 스캔해야 함을 나타냅니다. 현재 버전에서는 이것이 기본 동작입니다. (에서 7.1 이전 릴리스,이었음 기본 동작입니다.) 기본값은 다음과 같이 변경할 수 있습니다. 변경하는 중SQL_INHERITANCE구성 옵션.

새 열 또는 기존 열의 이름.

유형

새 열의 유형입니다.

new_column

기존 열의 새 이름.

new_토토 꽁 머니

테이블의 새 이름입니다.

토토 꽁 머니_constraint

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

제약_이름

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

new_owner

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

캐스케이드

떨어진 항목에 의존하는 개체를 자동으로 삭제합니다. 열 또는 제약 조건(예: 열).

제한

다음이 있는 경우 열 또는 제약 조건 삭제를 거부하십시오. 모든 종속 개체. 이것이 기본 동작입니다.

출력

테이블 변경

열 또는 테이블 이름 변경에서 메시지가 반환되었습니다.

오류

테이블이나 열이 아닌 경우 반환되는 메시지 가능합니다.

설명

테이블 변경의 정의를 변경합니다. 기존 테이블. 여러 가지 하위 양식이 있습니다.

열 추가

이 양식은 동일한 열을 사용하여 테이블에 새 열을 추가합니다. 구문은 다음과 같습니다.PostgreSQL : 문서.

열 삭제

이 양식은 테이블에서 열을 삭제합니다. 인덱스에 주목하세요 열과 관련된 테이블 제약 조건은 다음과 같습니다. 자동으로 떨어지기도 합니다. 당신은 말해야 할 것입니다캐스케이드만약 외부에 있는 것이 있다면 테이블은 열에 따라 다릅니다. 예를 들어 외래 키 참고문헌, 견해 등

기본값 설정/삭제

이 양식은 기본값을 설정하거나 제거합니다. 칼럼. 기본값은 후속에만 적용됩니다.삽입명령; 그들은 원인이 되지 않습니다 변경하려는 행이 이미 테이블에 있습니다. 기본값은 다음과 같을 수도 있습니다. 뷰용으로 생성되며 이 경우 삽입됩니다.삽입뷰에 대한 진술 뷰의 ON INSERT 규칙이 적용되기 전입니다.

SET/DROP NOT NULL

이 양식은 열이 허용하도록 표시되었는지 여부를 변경합니다. NULL 값을 사용하거나 NULL 값을 거부합니다. 귀하는 다음과 같이 할 수 있습니다.NULL이 아닌 설정테이블이 열에 null 값이 없습니다.

통계 설정

이 양식은 열별 통계 수집을 설정합니다. 후속 목표분석작업. 목표는 할 수 있다 0~1000 범위에서 설정됩니다. 또는 -1로 설정하십시오. 시스템 기본 통계를 사용하여 되돌리려면 목표.

저장소 설정

이 양식은 열의 저장 모드를 설정합니다. 이 이 열이 인라인으로 유지되는지 아니면 보충 테이블, 그리고 데이터가 있어야 하는지 여부 압축 여부.일반반드시 다음과 같은 고정 길이 값에 사용됩니다.INTEGER인라인이며 압축되지 않았습니다.메인인라인용, 압축 가능 데이터.외부외부용입니다. 압축되지 않은 데이터 및확장됨이다 외부 압축 데이터의 경우.확장됨은 모든 데이터 유형의 기본값입니다. 그것을 지원하는 것입니다. 의 사용외부다음에 하위 문자열 작업을 수행합니다. TEXT 열은 더 빨라지지만 저장 공간이 늘어나는 단점이 있습니다. 공간.

RENAME

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

추가토토 꽁 머니_constraint

이 양식은 다음을 사용하여 테이블에 새로운 제약 조건을 추가합니다. 와 같은 구문테이블 생성.

드롭 제약

이 양식은 테이블에 대한 제약 조건을 삭제합니다. 현재, 테이블에 대한 제약 조건은 고유할 필요가 없습니다. 이름이 있으므로 일치하는 제약 조건이 두 개 이상 있을 수 있습니다. 지정된 이름. 그러한 모든 제약은 떨어졌다.

소유자

이 양식은 테이블의 소유자, 인덱스, 지정된 사용자에게 시퀀스 또는 보기를 제공합니다.

사용하려면 테이블을 소유해야 합니다.변경 표; 제외하고테이블 변경 소유자, 슈퍼유저만 실행할 수 있습니다.

참고

키워드소음이고 그럴 수 있습니다. 생략합니다.

현재 구현 중추가 열, 새 열에 대한 기본 및 NOT NULL 절 지원되지 않습니다. 새로운 칼럼은 항상 모든 값이 NULL입니다. 다음을 사용할 수 있습니다.세트 기본값형식테이블 변경에 나중에 기본값을 설정하십시오. (업데이트할 수도 있습니다. 이미 존재하는 행을 새로운 기본값으로 설정합니다.PostgreSQL : 문서 : 7.3 : 토토 사이트 추천.) 표시하려는 경우 null이 아닌 열은를 사용합니다.설정하지 않음 NULLnull이 아닌 값을 입력한 후 양식을 작성하세요. 모든 행에 열이 있습니다.

칼럼 삭제명령은 그렇지 않습니다 기둥을 물리적으로 제거하지만 단순히 보이지 않게 만듭니다. SQL 작업. 테이블의 후속 삽입 및 업데이트 열에 NULL을 저장합니다. 따라서 열을 삭제하는 것은 빠르지만 디스크상의 크기가 즉시 줄어들지는 않습니다. 삭제된 열이 차지하는 공간이 테이블이 아니기 때문에 매립. 시간이 지나면서 기존 공간처럼 다시 채워질 것입니다. 행이 업데이트됩니다. 한 번에 공간을 확보하려면 더미를 수행하십시오.업데이트모든 행을 정리한 다음 진공 청소기로 청소합니다. 에서:

UPDATE 테이블 SET col = col;
진공이 가득 찬 테이블;

테이블에 하위 테이블이 있으면 다음이 허용되지 않습니다. 다음을 수행하지 않고 상위 테이블의 열을 ADD 또는 RENAME 자손과 동일합니다. 즉, ALTER TABLE ONLY는 다음과 같습니다. 거부되었습니다. 이렇게 하면 하위 항목에 항상 열이 있게 됩니다. 부모와 일치합니다.

재귀적인 DROP COLUMN 작업은 하위 항목을 제거합니다 하위 항목이 해당 테이블의 열을 상속받지 않는 경우에만 테이블의 열 다른 부모로부터 칼럼을 받았고 독립한 적이 없습니다. 열의 정의. 비재귀적인 DROP COLUMN(예: ALTER TABLE ONLY ... DROP COLUMN)은 하위 항목을 제거하지 않습니다. 열을 대신 독립적으로 정의된 것으로 표시합니다. 상속받은 것보다.

시스템 카탈로그 스키마의 일부를 변경하는 것은 허용됩니다.

참조테이블 생성추가로 유효한 인수에 대한 설명PostgreSQL 사용자 가이드추가 정보가 있습니다 상속에.

사용법

다음 유형의 열을 추가하려면varchar에 테이블:

ALTER 토토 꽁 머니 배포자 ADD COLUMN 주소 VARCHAR(30);

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

ALTER 토토 꽁 머니 배포자 DROP COLUMN 주소 RESTRICT;

기존 열의 이름을 바꾸려면:

ALTER TABLE 배포자 RENAME COLUMN 주소 TO 도시;

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

ALTER TABLE 유통업체 이름을 공급업체로 변경;

열에 NOT NULL 제약 조건을 추가하려면:

ALTER 토토 꽁 머니 배포자 ALTER COLUMN street SET NOT NULL;

열에서 NOT NULL 제약 조건을 제거하려면:

ALTER 토토 꽁 머니 배포자 ALTER COLUMN street DROP NOT NULL;

테이블에 검사 제약조건을 추가하려면:

ALTER 토토 꽁 머니 배포자 ADD CONSTRAINT zipchk CHECK (char_length(zipcode) = 5);

테이블과 그 모든 테이블에서 검사 제약 조건을 제거하려면 아이들:

ALTER 토토 꽁 머니 배포자 DROP CONSTRAINT zipchk;

테이블에 외래 키 제약조건을 추가하려면:

ALTER 토토 꽁 머니 분배기 ADD CONSTRAINT distfk FOREIGN KEY (주소) REFERENCES 주소(주소) MATCH FULL;

테이블에 (다중 열) 고유 제약 조건을 추가하려면:

ALTER 토토 꽁 머니 배포자 ADD CONSTRAINT dist_id_zipcode_key UNIQUE (dist_id, 우편번호);

자동으로 명명된 기본 키 제약 조건을 추가하려면 테이블은 하나의 기본 테이블만 가질 수 있다는 점에 유의하세요. 키:

ALTER TABLE 배포자가 기본 키(dist_id)를 추가합니다.

호환성

SQL92

열 추가양식이 준수됨 기본값을 지원하지 않는다는 점을 제외하고는 NOT 위에서 설명한 대로 NULL 제약 조건입니다.컬럼 변경양식이 완벽하게 준수됩니다.

테이블, 열, 인덱스 및 이름을 바꾸는 절 시퀀스는포스트그레SQLSQL92의 확장.