ALTER TABLE

Материал из GedeminWiki
(Различия между версиями)
Перейти к: навигация, поиск
 
 
(не показаны 2 промежуточные версии 2 участников)
Строка 1: Строка 1:
 +
[http://firebirdsql.su/doku.php?id=alter_table ALTER TABLE]
  
<pre>
+
[[Category:Firebird]]
ALTER TABLE table <operation> [, <operation> …];
+
 
+
<operation> = ADD <col_def>
+
| ADD <tconstraint>
+
| ALTER [COLUMN] column_name <alt_col_clause>
+
| DROP col
+
| DROP CONSTRAINT constraint
+
 
+
<alt_col_clause> = TO new_col_name
+
| TYPE new_col_datatype
+
| POSITION new_col_position
+
 
+
<col_def> = col {<datatype> | COMPUTED [BY] (<expr>) | domain}
+
[DEFAULT {literal | NULL | USER}]
+
[NOT NULL]
+
 
+
[<col_constraint>]
+
[COLLATE collation]
+
 
+
<datatype> =
+
{SMALLINT | INTEGER | FLOAT | DOUBLE PRECISION}[<array_dim>]
+
| (DATE | TIME | TIMESTAMP}[<array_dim>]
+
| {DECIMAL | NUMERIC} [(precision [, scale])] [<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> = A valid SQL expression that results in a single value.
+
 
+
<col_constraint> = [CONSTRAINT constraint]
+
{ UNIQUE
+
| PRIMARY KEY
+
| REFERENCES other_table [(other_col [, other_col …])]
+
[ON DELETE {NO ACTION|CASCADE|SET DEFAULT|SET NULL}]
+
[ON UPDATE {NO ACTION|CASCADE|SET DEFAULT|SET NULL}]
+
| CHECK (<search_condition>)}
+
 
+
<tconstraint> = [CONSTRAINT constraint]
+
{{PRIMARY KEY | UNIQUE} (col [, col …])
+
| FOREIGN KEY (col [, col …])
+
REFERENCES other_table [(other_col [, other_col …])]
+
[ON DELETE {NO ACTION|CASCADE|SET DEFAULT|SET NULL}]
+
[ON UPDATE {NO ACTION|CASCADE|SET DEFAULT|SET NULL}]
+
| 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> {>= | <=}
+
| <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>] | :variable
+
| <constant> | <expr> | <function>
+
| udf ([<val> [, <val> …]])
+
| 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 on a single column; returns exactly one value.
+
 
+
<select_list> = SELECT on a single column; returns zero or more values.
+
 
+
<select_expr> = SELECT on a list of values; returns zero or more
+
values.
+
</pre>
+

Текущая версия на 14:01, 18 июня 2014

ALTER TABLE

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты