Синтаксис Как работает SQL: коротко о SELECT, JOIN, агрегатах команды CREATE TABLE:
CREATE TABLE <table name>
( { <column name> <data type> | <size>]
[<colcnstrnt> ...]} .,.. );
[<tabconstrnt>] .,.. );
Элементы, используемые в команде CREATE TABLE
ЭЛЕМЕНТ ОПРЕДЕЛЕНИЕ
Имя таблицы создаваемой этой командой.
<table name>
Имя столбца таблицы.
<column name>
Тип данных, который может содержаться в столбце. Может быть
<data type>
любым из следующих:
(ЦЕЛОЕ ЧИСЛО),
INTEGER
CHARACTER (СИМВОЛЬНОЕ),
DECIMAL (ДЕСЯТИЧНОЕ),
NUMERIC (ЧИСЛОВОЕ),
SMALLINT (НАИМЕНЬШЕЕ)
(С ПЛАВАЮЩЕЙ ТОЧКОЙ)
FLOAT
REAL (РЕАЛЬНОЕ),
(УДВОЕННАЯ ТОЧНОСТЬ С ПЛАВАЮЩЕЙ ТОЧКОЙ),
DOUBLE PRECISION
LONG * (ДЛИННОЕ *),
(ПЕРЕМЕННОЕ СИМВОЛЬНОЕ *),
VARCHAR *
DATE * (ДАТА *),
TIME * (ВРЕМЯ *)
(* — указывает на нестандартный для SQL тип данных)
Размер. Его значение зависит от <data type>.
<size>
Может быть любым из следующих:
<colconstrnt>
(НЕ НУЛЕВОЙ),
NOT NULL
UNIQUE (УНИКАЛЬНЫЙ),
(ПЕРВИЧНЫЙ КЛЮЧ),
PRIMARY KEY
(ПРОВЕРКА предиката),
CHECK(<predicate>)
(ПО УМОЛЧАНИЮ = значимому выражению)
DEFAULT = <value expression>
REFERENCES <table name> [(<column name> .,.. )] (ССЫЛКА НА имя таблицы [(
имя столбца) ] )
Может быть любым из следующих:
<tabconstrnt>
UNIQUE (УНИКАЛЬНЫЙ),
PRIMARY KEY (ПЕРВИЧНЫЙ КЛЮЧ),
CHECK (ПРОВЕРКА предиката )
FOREIGN KEY(<column name>) (ВНЕШНИЙ КЛЮЧ)
REFERENCES <table name> [(<column name> .,.. )] (ССЫЛКА НА имя таблицы [(
имя столбца) ].
CREATE TABLE SALARY_HISTORY (
EMP_NO EMPNO NOT NULL,
CHANGE_DATE DATE DEFAULT "NOW" NOT NULL,
UPDATER_ID VARCHAR(20) NOT NULL,
OLD_SALARY SALARY NOT NULL,
PERC_CHANGE DOUBLE PRECISION DEFAULT 0 NOT NULL
CHECK (PERC_CHANGE BETWEEN -50 AND 50),
NEW_SALARY COMPUTED BY
(OLD_SALARY + OLD_SALARY * PERC_CHANGE / 100),
PRIMARY KEY (EMP_NO, CHANGE_DATE, UPDATER_ID),
FOREIGN KEY (EMP_NO) REFERENCES EMPLOYEE (EMP_NO));