CREATE TABLE
CREATE TABLE은 새 테이블을 정의합니다.
CREATE TABLE [ IF NOT EXISTS ] table_name ( [ { column_name data_type [ column_constraint [ ... ] ] | table_constraint | LIKE source_table [ like_option ... ] } [, ... ] ] ) where column_constraint is: [ CONSTRAINT constraint_name ] { NOT NULL | NULL | CHECK ( expression )| DEFAULT default_expr | GENERATED ALWAYS AS ( generation_expr ) STORED | GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY ( sequence_options ) | UNIQUE [ NULLS [ NOT ] DISTINCT ] index_parameters | PRIMARY KEY index_parameters | and table_constraint is: [ CONSTRAINT constraint_name ] { CHECK ( expression ) | UNIQUE [ NULLS [ NOT ] DISTINCT ] ( column_name [, ... ] ) index_parameters | PRIMARY KEY ( column_name [, ... ] ) index_parameters | and like_option is: { INCLUDING | EXCLUDING } { COMMENTS | CONSTRAINTS | DEFAULTS | GENERATED | IDENTITY | INDEXES | STATISTICS | ALL } index_parameters in UNIQUE, and PRIMARY KEY constraints are: [ INCLUDE ( column_name [, ... ] ) ]
ID 열
참고
자격 증명 열을 사용할 때는 캐시 값을 신중하게 고려해야 합니다. 자세한 내용은 CREATE SEQUENCE 페이지의 중요 안내를 참조하세요.
워크로드 패턴을 기반으로 자격 증명 열을 가장 잘 사용하는 방법에 대한 지침은 시퀀스 및 자격 증명 열 작업 섹션을 참조하세요.
GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY ( 절은 열을 자격 증명 열로 만듭니다. 암시적 시퀀스가 연결되고 새로 삽입된 행에서 열은 할당된 시퀀스의 값을 자동으로 갖습니다. 이러한 열은 암시적으로 sequence_options )NOT NULL입니다.
ALWAYS 및 BY DEFAULT 절은 INSERT 및 UPDATE 명령에서 사용자 지정 값을 명시적으로 처리하는 방법을 결정합니다.
INSERT 명령에서 ALWAYS가 선택된 경우 INSERT 문이 OVERRIDING SYSTEM
VALUE를 지정하는 경우에만 사용자 지정 값이 허용됩니다. BY DEFAULT를 선택하면 사용자 지정 값이 우선합니다.
UPDATE 명령에서 ALWAYS가 선택된 경우 열을 이외의 값으로 업데이트하면 DEFAULT가 거부됩니다. BY
DEFAULT를 선택하면 열을 정상적으로 업데이트할 수 있습니다. (UPDATE명령에는 OVERRIDING 절이 없습니다.)
sequence_options 절을 사용하여 시퀀스의 파라미터를 재정의할 수 있습니다. 사용 가능한 옵션에는 CREATE SEQUENCE에 대해 표시된 옵션과 SEQUENCE NAME
이 포함됩니다. nameSEQUENCE NAME이 없으면 시스템에서 시퀀스에 사용되지 않는 이름을 선택합니다.