Синтаксис. <operation> = {ADD <col_def> | ADD <table_constraint> | DROP col | DROP constraint constraint}

ALTER TABLE table <operation> [, <operation>...];

<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 Удаляет определенное ограничение таблицы.  

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



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