double arrow

Синтаксис. CREATE TABLE table [EXTERNAL [FILE] "<filespec>"]

CREATE TABLE table [EXTERNAL [FILE] "<filespec>"]

(<col_def> [, <col_def> | <tconstraint> ...]);

<col_def> = col {datatype | COMPUTED [BY] (<expr>) | domain}

[DEFAULT {literal | NULL | USER}]

[NOT NULL] [<col_constraint>]

[COLLATE collation].

Обратите внимание: Предложение COLLATE не может быть определено для столбцов BLOB.

<datatype> = {

{SMALLINT | INTEGER | FLOAT | DOUBLE PRECISION} [<array_dim>]

| {DECIMAL | NUMERIC} [(precision [, scale])] [<array_dim>]

| DATE [<array_dim>]

| {CHAR | CHARACTER | CHARACTER VARYING | VARCHAR}

[(int)] [<array_dim>] [CHARACTER SET charname]

| {NCHAR | NATIONAL CHARACTER | NATIONAL CHAR}

[VARYING] [(int)] [<array_dim>]

| BLOB [SUB_TYPE {int | subtype_name}] [SEGMENT SIZE int]

[CHARACTER SET charname]

| BLOB [(seglen [, subtype])]

}

<array_dim> = [x:y [, x:y ...]]

Обратите внимание: Внешние скобки (выделены жирным) должны быть включены в объявление массивов.

<expr> = Допустимое выражение SQL, которое возвращает единственное значение.

<col_constraint> = [CONSTRAINT constraint] <constraint_def>

[<col_constraint>]

<constraint_def> = {UNIQUE | PRIMARY KEY

| CHECK (<search_condition>)

| REFERENCES other_table [(other_col [, other_col ...])]}

<tconstraint> = CONSTRAINT constraint <tconstraint_def>

[<tconstraint>]

<tconstraint_def> = {{PRIMARY KEY | UNIQUE} (col [, col ...])

| FOREIGN KEY (col [, col ...]) REFERENCES other_table

| CHECK (<search_condition>)}

<search_condition> =

{<val> <operator> {<val> | (<select_one>)}

| <val> [NOT] BETWEEN <val> AND <val>

| <val> [NOT] LIKE <val> [ESCAPE <val>]

| <val> [NOT] IN (<val> [, <val> ...] | <select_list>)

| <val> IS [NOT] NULL

| <val> {[NOT] {= | < | >} | >= | <=}

{ALL | SOME | ANY} (<select_list>)

| EXISTS (<select_expr>)

| SINGULAR (<select_expr>)

| <val> [NOT] CONTAINING <val>

| <val> [NOT] STARTING [WITH] <val>

| (<search_condition>)

| NOT <search_condition>

| <search_condition> OR <search_condition>

| <search_condition> AND <search_condition>}

<val> = {

col [<array_dim>] | <constant> | <expr> | <function>

| NULL | USER | RDB$DB_KEY

} [COLLATE collation]

<constant> = num | "string" | charsetname "string"

<function> = {

COUNT (* | [ALL] <val> | DISTINCT <val>)

| SUM ([ALL] <val> | DISTINCT <val>)

| AVG ([ALL] <val> | DISTINCT <val>)

| MAX ([ALL] <val> | DISTINCT <val>)

| MIN ([ALL] <val> | DISTINCT <val>)

| CAST (<val> AS <datatype>)

| UPPER (<val>)

| GEN_ID (generator, <val>)

}

<operator> = {= | < | > | <= | >= | !< | !> | <> | !=}

<select_one> = SELECT (выбор) на одном столбце, который возвращает точно одно значение.

<select_list> = SELECT на одном столбце, который возвращает ноль или более значений.

<select_expr> = SELECT на списке значений, который возвращает ноль или более значений.

Аргумент Описание
table Имя для таблицы. Имя таблицы должно быть уникальным среди имен таблиц и процедур в базе данных.  
EXTERNAL [FILE] "<filespec>" Объявляет что данные для создаваемой таблицы, постоянно располагаются во внешней к базе данных таблице или файле.  
col Имя для столбца таблицы, должно быть уникальным именем в таблице.  
<datatype> SQL тип данных столбца.  
COMPUTED [BY] (<expr>) Базирует определение столбца на выражении. Выражение должно возвращать одиночное значение, и не иметь тип массива или возвращать массив. <expr> – любое арифметическое выражение допустимое для типа типа данных столбца.  
domain Имя существующего домена.  
COLLATE collation Определяет порядок сортировки для столбца. Порядок сортировки на уровне столбца отменяет порядок сортировки определенный на уроне домена  
DEFAULT Определяет значение по умолчанию столбца, которое вводится когда не сделано ни каких других вводов. Значения: · literal: Вставляется специфическая строка, числовое значение или дата. · NULL: Вводится значение NULL. · USER: Вводится имя текущего пользователя. Столбец должен быть совместимого текстового типа, для использования значения по умолчанию. Установка значению по умолчанию на уровне столбца отменяет значение по умолчанию на уровне домена  
CONSTRAINT constraint Помещает именованное ограничение на таблицу или столбец. Ограничение это правило применяемое к структуре или контексту таблицы. Если это предложение опущено, InterBase создает системное имя для ограничения.  

Сейчас читают про: