<operation> = {ADD <col_def> | ADD <table_constraint> | DROP col | DROP CONSTRAINT constraint}
<col_def> = col {<datatype> | [COMPUTED [BY] (<expr>) | domain}
[DEFAULT {literal | NULL | USER}] [NOT NULL] [<col_constraint>] [COLLATE collation]
Обратите внимание: Предложение COLLATE не может быть определено для BLOB столбцов.
<col_constraint> = [CONSTRAINT constraint] <constraint_def> [<col_constraint>]
<constraint_def> = {PRIMARY KEY | UNIQUE | CHECK (<search_condition>) | REFERENCES other_table [(other_col [, other_col...])]}
<datatype> = {
{SMALLINT | INTEGER | FLOAT | DOUBLE PRECISION} [<array_dim>]
| {DECIMAL | NUMERIC} [(precision [, scale])] [<array_dim>]
| DATE [<array_dim>]
| {CHAR | CHARACTER | CHARACTER VARYING | VARCHAR}
[(1...32767)] [<array_dim>] [CHARACTER SET charname]
| {NCHAR | NATIONAL CHARACTER | NATIONAL CHAR}
[VARYING] [(1...32767)] [<array_dim>]
| BLOB [SUB_TYPE {int | subtype_name}] [SEGMENT SIZE int]
[CHARACTER SET charname]
| BLOB [(seglen [, subtype])]
}
<array_dim> = [ x:y [, x:y...] ]
Обратите внимание: Внешние скобки (выделены жирным) должны быть включены в объявление массивов.
<table_constraint> = CONSTRAINT constraint <tconstraint_opt>[<table_constraint>]
<tconstraint_opt> = {
{PRIMARY KEY | UNIQUE} (col [, col...]) | FOREIGN KEY (col [, col...]) REFERENCES other_table | CHECK (<search_condition>)}
Обратите внимание: Для полного синтаксиса <search_condition>, смотри CREATE TABLE.
Аргумент | Описание | |
![]() | ||
table | Имя существующей таблицы, которую надо измененить. | |
<operation> | Операция, которую необходимо произвести над таблицей. Допустимые опции: · ADD: Добавить новый столбец или ограничение к таблице. · DROP: Удалить существующий столбец или ограничение из таблицы. | |
<col_def> | Описание нового столбца, который следует добавить. Должно включать имя столбца и тип данных. Может включать значение по умолчанию, ограничения столбца и специфический порядок сортировки. | |
<table_constraint> | Описание нового ограничения таблицы, которое следует добавить. Только одно ограничение таблицы может быть добавлено к таблице. | |
col | Имя добавляемого или удаляемого столбца. Имя столбца должно быть уникальным внутри таблицы. | |
<constraint> | Имя добавляемого или удаляемого ограничения. Имя ограничения должно быть уникальным внутри таблицы. | |
COLLATE collation | Добавляет порядок сортировки к определенной таблице. | |
<datatype> | Тип данных добавляемого столбца. | |
domain | Имя домена, на котором определение столбца должно быть основано. | |
COMPUTED [BY] <expr> | Определяет вычисляемый столбец основаный на выражении <expr>. Такой столбец не занимает пространства памити в базе данных. <expr> может быть любым арифметическим выражением допустимым для типов данных в выражении. Другие столбцы, на котрые ссылается выражение <expr>, должны существовать раньше, чем они будут использованы. Выражение не может ссылатся на BLOB столбцы. <expr> должно возвращать одиночное значение и не может возвращать массив. | |
NOT NULL | Определяет что столбец не может содержать значение NULL. Если таблица уже имеет строки, новые столбцы не могут быть NOT NULL. Атрибут NOT NULL используется только для столбцов. | |
DEFAULT | Определяет значение по умолчанию столбца, которое устанавливается когда не сделано ни какого ввода. Значения: · literal: Вставляется специфическая строка, числовое значение, или дата. · NULL: Вводится значение NULL. · USER: Вводится имя текущего пользователя. Столбец должен быть совместимого текстового типа, чтобы использовать значение по умолчанию. Установка значению по умолчанию на уровне столбца отменяет значение по умолчанию на уровне домена. | |
<constraint_def> | Определение ограничения столбца. | |
CONSTRAINT | Добавляет именованное ограничение к столбцу. | |
DROP CONSTRAINT | Удаляет определенное ограничение таблицы. |