생성 [임시 | 온도] 표table_name(column_name type[column_constraint[...]] |table_constraint[, ...] ) [상속 (parent_table[, ...])] 어디column_constraint할 수 있습니다. [토토토토 _name] null 아님 | 널 | 독특한 | 기본 키 | 기본value| 확인하다 (토토) | 참조토토[(열)] [전체 일치 | 일치 부분] [deleteAction] [업데이트Action] [연기 가능 | 연기되지 않음] [처음에는 연기 | 처음에 즉시] 그리고table_constraint할 수 있습니다. [토토토토 _name] 고유한 (column_name[, ...]) | 기본 키 (column_name[, ...]) | 확인하다 (토토) | 외국 키 (column_name[, ...]) 참조토토[(열[, ...])] [전체 일치 | 일치 부분] [le 삭제Action] [업데이트Action] [연기 가능 | 연기되지 않음] [처음에는 연기 | 처음에 즉시]
지정된 경우 토토은 이것에 대해서만 생성됩니다 세션은 세션 종료시 자동으로 삭제됩니다. 이름이 같은 기존 영구 토토은 아닙니다 임시 토토 동안 보이기 (이 세션에서) 존재합니다. 임시 토토에서 생성 된 모든 인덱스는 다음과 같습니다 자동으로 임시.
생성 될 새 토토의 이름.
새로 생성 될 열의 이름 토토.
열의 유형. 여기에는 배열이 포함될 수 있습니다 지정자. 참조PostgreSQL 사용자 안내서데이터 유형에 대한 자세한 내용 그리고 배열.
옵션 상속 절은 토토 목록을 지정합니다 이 토토의 이름은 모두 자동으로 상속됩니다 전지.
열 또는 토토 토토 토토의 선택 이름. 만약에 지정되지 않은 시스템은 이름을 생성합니다.
열의 기본값. 기본 조항을 참조하십시오 자세한 정보.
확인 조항은 무결성 토토 토토 또는 테스트를 지정합니다 인서트에 대해 신규 또는 업데이트 된 행을 만족 시키거나 성공을 위해 작업을 업데이트하십시오. 각 토토 토토은 an이어야합니다 부울 결과를 생성하는 표현. 토토 열 정의 내에서 나타나면 참조해야합니다 해당 열의 값만이지만 토토은 다음과 같이 나타납니다 토토 토토 토토은 여러 열을 참조 할 수 있습니다.
기존 토토의 이름은 외국의 주요 토토.
기존 토토의 열 이름 외국의 주요 토토 토토에 의해 참조됩니다. 지정되지 않은 경우 기존 토토의 주요 키는 가정됩니다.
외국 일 때 취할 조치를 나타내는 키워드 주요 토토이 위반되었습니다.
토토 생성새로운 입력을 할 것입니다. 처음에는 현재 데이터베이스에 토토을 비 웁니다. 토토은 할 것입니다 명령을 발행하는 사용자가 "소유"해야합니다.
각타입간단 할 수 있습니다 유형, 복잡한 유형 (세트) 또는 배열 유형. 각 속성은 할 수 있습니다 null이 아닌 것으로 지정되고 각각 기본값이있을 수 있습니다. 에 의해 지정됨기본값 절.
참고 :속성은 시행되지 않습니다. 이것은 아마도 a에서 변경 될 것입니다 미래 릴리스.
토토 생성자동으로 생성됩니다 튜플 유형 (구조 유형)을 나타내는 데이터 유형 토토의 한 줄에 해당합니다. 따라서 토토은 할 수 없습니다 기존 데이터 유형과 동일한 이름을 가지고 있습니다.
토토은 1600 개의 열을 가질 수 있습니다 (실제로, 튜플 길이 토토으로 인해 유효 한계가 낮습니다). 에이 토토은 시스템 카탈로그 토토과 같은 이름을 가질 수 없습니다.
상속 (parent_table[, ...])
선택 사항은 상속 된 조항이 토토 이름 목록을 지정합니다. 새 토토이 자동으로 모든 필드를 상속합니다. 만약에 동일한 필드 이름이 하나 이상의 상위 토토에 나타납니다. Postgres는 필드 정의가 일치하지 않는 한 오류를보고합니다. 각 부모 토토. 정의 충돌이없는 경우 그런 다음 중복 필드가 병합되어 단일 필드를 형성합니다. 새 토토. 새 토토의 자체 필드 목록에 필드가 포함 된 경우 상속 된 이름,이 선언은 마찬가지로 일치해야합니다. 상속 된 필드와 필드 정의가 병합됩니다. 하나.
같은 이름의 상속 및 새로운 필드 선언은 오류를 피하기 위해 동일한 데이터 유형을 정확히 지정하십시오. 그들은 필요합니다 동일한 토토 토토을 지정하지 않습니다 --- 제공된 모든 토토 토토 모든 선언에서 함께 합병되며 모두가 적용됩니다. 새 토토. 새 토토이 기본값을 명시 적으로 지정하는 경우 필드의 값,이 기본값은 모든 기본값을 대체합니다. 분야의 상속 선언. 그렇지 않으면, 부모님 필드의 기본값 지정은 모두 동일하게 지정해야합니다. 기본값 또는 오류 가보고됩니다.
Postgres는 생성 된 토토을 자동으로 상속받을 수 있습니다 상속 계층에서 위의 표에서 기능; 저것 토토을 만들면foo상속 에서bar, 다음을 받아들이는 기능 튜플 유형bar도 적용 할 수 있습니다 인스턴스foo. (현재, 이것은 작동합니다 첫 번째 또는 유일한 부모 토토의 기능에 대해서는 안정적이지만 추가 부모에 대한 기능을 위해 잘 지내요.)
기본값value
기본 조항은 열에 대한 기본 데이터 값을 할당합니다. 그의 열 정의는 내부에 나타납니다. 값은 무엇입니까? 가변없는 표현식 (하위 선택 및 현재 토토의 다른 열에 대한 상호 참조는 지원). 기본값의 데이터 유형은 열 정의의 데이터 유형.
기본 표현식은 삽입 작업에 사용됩니다. 열에 대한 값을 지정하지 않습니다. 없다면 기본 조항, 그러면 기본값은 null입니다.
토토 분배기 생성 ( Varchar (40) 기본 'Luso Films', Integer Default NextVal ( 'Emptentor_Serial'), modtime timestamp default now () );위의 것은 문자 그대로 상수 기본값을 할당합니다. 열이름및 기본값을 정렬합니다 열 값did생성됩니다 시퀀스 객체의 다음 값을 선택합니다. 의 기본값modtime행은 시간이 될 것입니다 삽입됩니다.
말할 가치가 있습니다
Modtime Timestamp 기본값 'now'의도 된 결과가 아닌 결과를 생성 할 것입니다. 문자열'now'a 즉시 타임 스탬프 값이므로 기본값modtime항상 시간이 될 것입니다 토토 생성. 이 난이도는 지정하여 피합니다 함수 호출로 기본값.
[토토토토 _name] 널 | NOL NULL | 독특한 | 기본 키 | 확인하다토토| 참조Reftable[(Refcolumn)] [ 성냥matchtype] [deleteAction] [업데이트Action] [[연기되지 않음] [처음checktime]
토토 조항에 주어진 임의의 이름.
열에는 널 값이 포함됩니다. 이것은 기본값.
열에 널 값을 포함 할 수 없습니다. 이것 열 토토 토토 확인 ( 열 토토 토토과 같습니다.열NOT NULL).
열에는 고유 한 값이 있어야합니다. 안에Postgres이것은 시행됩니다 열에 고유 한 인덱스의 자동 생성.
이 열은 기본 키입니다. 토토은이 열에 고유 식별자로 의존 할 수 있습니다. 줄. 독특하고 Null은 모두 1 차에 의해 암시됩니다 열쇠. 자세한 내용은 기본 키를 참조하십시오.
임의의 부울 값 토토 토토 토토.
선택적 토토 조항은 토토 토토 또는 테스트를 지정합니다 삽입 또는 업데이트에 대한 신규 또는 업데이트 행을 만족시켜야하는 행 성공하기위한 작전.
토토 토토은 이름이 지정된 규칙입니다. 결과에 제한을 두어 유효한 값 세트를 정의합니다. 토토에서 수행 된 작업을 삽입, 업데이트 또는 삭제합니다.
무결성 토토을 정의하는 두 가지 방법 : 표 나중에 다루는 토토 토토 및 열 토토 토토 여기.
열 토토 토토은 정의 된 무결성 토토 토토입니다 열 정의의 일부이며 논리적으로 토토이됩니다. 토토이 생성되는 즉시 토토. 열 토토 토토 사용 가능 :
기본 키 |
참조 |
고유 한 |
check |
NOT NULL |
[토토이름] NOT NULL
not null 토토 토토은 열이 할 수있는 규칙을 지정합니다. 널이 아닌 값 만 포함합니다. 이것은 열 토토 토토입니다. 토토 토토으로 허용되지 않습니다.
[토토토토 _name] 고유 한
고유 한 토토 토토은 하나의 그룹이라는 규칙을 지정합니다. 또는 토토의 더 뚜렷한 열에는 고유 한 것만 포함 할 수 있습니다. 값.
지정된 열의 열 정의는 그렇지 않습니다 NULL 토토 토토을 포함해야합니다. 독특한 토토. a에서 둘 이상의 널 값을 갖습니다 널 구속 토토이없는 열, 위반하지 않습니다. 독특한 토토. (이것은에서 벗어납니다SQL92정의이지만 더 합리적입니다 협약. 자세한 내용은 호환성 섹션을 참조하십시오 세부.)
각 고유 한 열 토토 토토은 열의 이름을 지정해야합니다. 다른 고유 한 선정 된 열 세트와 다릅니다. 또는 표에 정의 된 1 차 키 토토 토토.
참고 : Postgres각 고유 한 고유 인덱스를 자동으로 생성합니다 데이터 무결성을 보장하기위한 토토. 인덱스 생성을 참조하십시오 자세한 정보.
[토토토토 _name] check (토토)
이 오류는 런타임에 발생하면 발생합니다 불법적 인 값을 대상의 열에 삽입하십시오 점검 토토.
점검 토토 토토은 일반적인 제한을 지정합니다 열 내에서 허용 값. 점검 토토도 있습니다 토토 토토으로 허용됩니다.
점검과 관련된 일반적인 부울 표현을 지정합니다 또는 토토의 더 많은 열. 새로운 행이 거부됩니다 부울 표현은 적용될 때 False로 평가됩니다 행의 가치.
현재, 확인 표현에는 하위 선택이 포함될 수 없습니다 또한 현재 필드 이외의 변수를 참조하십시오. 열.
SQL92 표준에 따르면 검사 열 토토 토토이있을 수 있습니다 적용하는 열만 참조하십시오. 체크 토토 만 토토 토토은 여러 열을 참조 할 수 있습니다.Postgres이것을 시행하지 않습니다 제한. 열과 토토 점검 토토 토토을 처리합니다 서로 같은.
[토토토토 _name] 기본 키
[토토토토 _name] 참조Reftable[(Refcolumn)] [ 성냥matchtype] [deleteaction] [업데이트Action] [[연기되지 않음] [처음checktime]
참조 제한 토토은 열이 규칙을 지정합니다 값은 다른 열의 값에 대해 확인됩니다. 참조는 외국 키 토토의 일부로 지정할 수 있습니다. 강제.
토토 조항에 주어진 임의의 이름.
확인할 데이터가 포함 된 토토 에 맞서.
열의 열Reftable데이터를 확인하려면 에 맞서. 이것이 지정되지 않은 경우 기본 키입니다 그만큼ReftableIS 사용된.
세 가지 일치 유형이 있습니다 : 일치, 일치 없음이 지정되지 않은 경우 부분 및 기본 일치 유형입니다. 일치하는 일치는 다중 열의 한 열을 허용하지 않습니다. 모든 외국 키 칼럼이 아닌 한 외국 키 널입니다. 기본 일치 유형은 외국을 허용합니다 외국의 다른 부분으로 늘어나는 주요 열 키는 null이 아닙니다. 일치 부분은 현재 그렇지 않습니다 지원.
참조 행이 참조 토토이 삭제됩니다. 거기가 있습니다 다음 행동.
외국 키를 위반 한 경우 오류를 생성합니다. 이것은 기본값.
조치가없는 것과 동일합니다.
삭제 된 행을 참조하는 행을 삭제합니다 열.
참조 열 값을 null로 설정합니다.
참조 열 값을 그들에게 설정하십시오 기본값.
참조 열이 참조 토토이 새 값으로 업데이트되고 있습니다. 만약에 행이 업데이트되었지만 참조 된 열은 변경, 조치는 수행되지 않습니다. 다음이 있습니다 행위.
외국 키를 위반 한 경우 오류를 생성합니다. 이것은 기본값.
조치가없는 것과 동일합니다.
참조 열의 값을 업데이트하십시오 참조 열의 새로운 값.
참조 열 값을 null로 설정합니다.
참조 열 값을 그들에게 설정하십시오 기본값.
이것은 토토 토토을 연기 할 수 있는지 여부를 제어합니다 거래가 끝날 때까지. 연기 가능하면 설정하십시오 모든 연기가 지연되면 외국 키가 유발됩니다 거래가 끝날 때만 확인하십시오. 아니다 연기가 기본입니다.
checktime두 가지가 있습니다 확인할 기본 시간을 지정하는 가능한 값 토토 토토.
끝에서만 토토 토토을 확인하십시오 거래.
각 명령문 후에 토토 토토을 확인하십시오. 이것은 기본값.
[토토 이름] 1 차 키 | 고유한 (열[, ...]) [토토 이름] check (토토 토토) [토토 이름] 외국 키 (열[, ...]) 참조Reftable[(refcolumn[, ...])] [ 성냥matchtype] [deleteAction] [업데이트Action] [[연기되지 않음] [처음checktime]
토토 조항에 주어진 임의의 이름.
고유 인덱스를 정의 할 열 이름 그리고 기본 키의 경우 널 널 토토 토토이 아닙니다.
부울 표현으로 평가됩니다 강제.
[토토토토 _name] 독특한 (열[, ...])
[토토토토 _name] 외국 키 (열[, ...]) 참조Reftable[(Refcolumn[, ...])] [ 성냥matchtype] [deleteAction] [업데이트Action] [[연기되지 않음] [처음checktime]
참조 제한 토토은 열이라는 규칙을 지정합니다 값 또는 열 값 세트는 값에 대해 확인됩니다. 다른 토토.
토토 조항에 주어진 임의의 이름.
표에서 하나 이상의 열의 이름.
확인할 데이터가 포함 된 토토 에 맞서.
의 하나 이상의 열Reftable데이터를 확인하려면 에 맞서. 이것이 지정되지 않은 경우 기본 키입니다 그만큼ReftableIS 사용된.
세 가지 일치 유형이 있습니다 : 일치, 일치 없음이 지정되지 않은 경우 부분 및 기본 일치 유형입니다. 일치하는 일치는 다중 열의 한 열을 허용하지 않습니다. 모든 외국 키 칼럼이 아닌 한 외국 키 널입니다. 기본 일치 유형은 외국을 허용합니다 외국의 다른 부분으로 늘어나는 주요 열 키는 null이 아닙니다. 일치 부분은 현재 그렇지 않습니다 지원.
참조 행이 참조 토토이 삭제됩니다. 거기가 있습니다 다음 행동.
외국 키를 위반 한 경우 오류를 생성합니다. 이것은 기본값.
조치가없는 것과 동일합니다.
삭제 된 행을 참조하는 행을 삭제합니다 열.
참조 열 값을 null로 설정합니다.
참조 열 값을 그들에게 설정합니다 기본값.
참조 열이 참조 토토이 새 값으로 업데이트되고 있습니다. 만약에 행이 업데이트되었지만 참조 된 열은 변경, 조치는 수행되지 않습니다. 다음이 있습니다 행위.
외국 키를 위반 한 경우 오류를 생성합니다. 이것은 기본값.
참조중인 행의 업데이트를 허용하지 않습니다.
참조 열의 값을 업데이트하십시오 참조 열의 새로운 값.
참조 열 값을 null로 설정합니다.
참조 열 값을 그들에게 설정합니다 기본값.
이것은 토토 토토을 연기 할 수 있는지 여부를 제어합니다 거래가 끝날 때까지. 연기 가능하면 설정하십시오 모든 연기가 지연되면 외국 키가 유발됩니다 거래가 끝날 때만 확인하십시오. 아니다 연기가 기본입니다.
checktime두 개가 있습니다 확인할 기본 시간을 지정하는 가능한 값 토토 토토.
각 명령문 후에 토토 토토을 확인하십시오. 이것은 기본값.
끝에서만 토토 토토을 확인하십시오 거래.
토토 필름 및 토토 분배기 만들기 :
토토 필름 생성 ( 코드 문자 (5) 토토 토토 FirstKey 기본 키, 제목 문자는 다양한 (40) NULL, 10 진수 (3)가 널이 아니 었습니까? date_prod 날짜, 친절한 숯 (10), 렌 간격 시간에서 분 );
토토 분배기 생성 ( 10 진수 (3) 기본 키 기본값 NextVal ( 'Serial'), 이름 varchar (40) Not Null Check (name < '') );
2 차원 배열이있는 토토 만들기 :
토토 배열 생성 ( 벡터 int [] [] );
토토 필름의 고유 한 토토 토토 토토을 정의합니다. 고유한 토토 토토은 하나 이상의 열에서 정의 될 수 있습니다. 토토:
토토 필름 생성 ( 코드 char (5), 제목 바르 차 (40), 10 진수 (3), date_prod 날짜, 친절한 숯 (10), LEN 간격 시간에서 분, 토토 제작 고유 (date_prod) );
검사 열 토토 토토 정의 :
토토 분배기 생성 ( 소수점 (3) 확인 (100), 이름 varchar (40) );
체크 토토 정의 토토 토토 :
토토 분배기 생성 ( 10 진수 (3), 이름 varchar (40) 토토 토토 CON1 확인 (did 100 및 name '') );
토토 필름의 기본 키 토토 토토 토토을 정의합니다. 기본 키 토토 토토 토토은 하나 이상에서 정의 할 수 있습니다. 표의 열 :
토토 필름 생성 ( 코드 char (5), 제목 바르 차 (40), 10 진수 (3), date_prod 날짜, 친절한 숯 (10), LEN 간격 시간에서 분, 토토 Code_title 기본 키 (코드, 제목) );
토토의 기본 키 열 토토 토토을 정의합니다 유통 업체. 1 차 키 열 토토 토토 만 정의 할 수 있습니다 토토의 한 열에 (다음 두 예는 다음과 같습니다. 동등한):
토토 분배기 생성 ( 10 진수 (3), 이름 문자가 다양합니다 (40), 기본 키 (DID) );
토토 분배기 생성 ( 10 진수 (3) 기본 키를 했습니까? 이름 varchar (40) );
로컬로 보이는 임시 토토 외에도 SQL92 또한 글로벌 임시 토토 명령문을 작성합니다 선택적으로 on 커밋 조항 :
글로벌 임시 토토 만들기토토(열 타입[ 기본value] [토토column_constraint] [, ...]) [토토table_constraint] [commit delete | 보존 행]
임시 토토의 경우 글로벌 임시 토토을 작성합니다 진술은 다른 클라이언트가 보이는 새 토토을 지명하고 토토의 열 및 토토 토토을 정의합니다.
임시 토토 작성의 커밋 조항에 대한 선택 사항 임시 토토을 비워야하는지 여부를 지정합니다. 커밋이 실행될 때마다 줄이 있습니다. on commit 조항이있는 경우 생략, SQL92 기본값이 커밋 삭제에 있음을 지정합니다. 줄. 하지만,Postgres' 행동은 항상 커밋 보존 행과 같습니다.
SQL92는 몇 가지 추가 기능을 지정합니다 고유한:
토토 토토 토토 정의 :
[토토토토 _name] 독특한 (열[, ...]) [처음에 연기 | 처음에 즉시] [[[없음] 연기 가능]
열 토토 토토 정의 :
[토토토토 _name] 독특합니다 [처음에 연기 | 처음에 즉시] [[[없음] 연기 가능]
NULL "토토"(실제로는 구속되지 않은)이입니다.PostgresSQL92로의 확장 NOT NULL 절 (및 다른 rdbmses와의 호환성). 그것은이기 때문에 모든 열의 기본값은 단순히 소음입니다.
[토토토토 _name] NULL
SQL92는 몇 가지 추가 기능을 지정합니다 토토, 또한 주장과 도메인을 정의합니다 토토 토토.
참고 : Postgres아직 도메인이나 어설 션을 지원하지 않습니다.
어설 션은 특별한 유형의 무결성 토토 토토이며 다른 토토과 동일한 네임 스페이스를 공유합니다. 그러나, an 주장이 반드시 하나의 특정에 의존하는 것은 아닙니다 토토 토토으로 토토이 있으므로 SQL-92는 작성을 제공합니다 a를 정의하기위한 대체 방법으로서의 주장 진술 강제:
주장 생성이름check (토토)
도메인 토토 토토은 도메인 또는 Alter를 작성하여 정의됩니다 도메인 진술 :
도메인 토토 토토 :
[토토토토 _name] check토토 토토[처음에 연기 | 처음에 즉시] [[[없음] 연기 가능]
토토 토토 토토 정의 :
[토토토토 _name] 기본 키 (열, ...) | 외국 키토토| 고유한토토 토토| 확인하다토토 토토[처음에 연기 | 처음에 즉시] [[[없음] 연기 가능]
열 토토 토토 정의 :
[토토토토 _name] NOT NULL | 기본 키 | 외국 키토토 토토| 독특한 | 확인하다토토 토토[처음에 연기 | 처음에 즉시] [[[없음] 연기 가능]
토토 토토 정의에는 하나의 연기가 포함될 수 있습니다 속성 조항 및/또는 하나의 초기 토토 모드 조항, 어떤 순서로든.
각각의 끝에서 토토 토토을 점검해야합니다. 성명. 세트 토토 토토은 모두 지연되지 않습니다 이 유형의 토토에 미치는 영향.
이것은 토토 토토을 연기 할 수 있는지 여부를 제어합니다 거래가 끝날 때까지. 토토 토토을 모두 설정하면 연기가 사용되거나 토토 토토이 처음에 설정됩니다. 연기되면 이로 인해 외국 키가 확인됩니다. 거래가 끝날 때만.
참고 : 세트 토토 토토외래 키 토토 토토을 변경합니다 현재 트랜잭션에 대해서만 모드.
각 명령문 후에 토토 토토을 확인하십시오. 이것은입니다 기본.
끝에서만 토토 토토을 확인하십시오 거래.
SQL92 체크인 할 추가 기능을 지정합니다 토토 또는 열 토토 토토.
토토 토토 토토 정의 :
[토토토토 _name] check (value토토) [처음에 연기 | 처음에 즉시] [[[없음] 연기 가능]
열 토토 토토 정의 :
[토토토토 _name] check (value토토) [처음에 연기 | 처음에 즉시] [[[없음] 연기 가능]