Кроме команд, предназначенных для выборки и модификации данных, Transact-SQL содержит инструкции, которые создают логические блоки (устройства) для хранения данных и базы данных, которые находятся на этих устройствах. Это было необходимо при работе с SQL Server 6.5 и потеряло свою актуальность для версии SQL Server 7.0. Это обусловлено появлением визуальных средств проектирования баз данных. Однако на практике может возникнуть задача создания таблицы программным путем. Ниже приводится команда создания таблицы, которая имеет следующий синтаксис:
CREATE TABLE
[<Имя базы данных>.[<Имя владельца>].]<Имя таблицы>
({<Определение столбца>
| <Имя столбца> AS <Рассчитываемое выражение>
| <Условия на значения таблицы>} [, …n])
[ON {<Группа> | DEFAULT}]
[TEXTIMAGE_ON {Группа | DEFAULT}],
где столбцы определяются следующим образом:
<Имя столбца> [<Тип данных> [<Длина>]] [NULL | NOT NULL]
[IDENTITY [(<Начало>, <Приращение>)
[NOT FOR REPLICATION]]
[ROWGUICOL]
Условия на значения столбца задаются следующим образом:
[CONSTRAINT <Имя условия на значения>]
DEFAULT {<Выражение> | <Функция> | NULL}
[FOR <Имя колонки>]
Параметры команды:
· <Имя базы данных> - имя базы данных, которое можно не указывать, если база данных является текущей;
· <Имя владельца> - владелец создаваемой таблицы;
· <Имя таблицы> - уникальное для данной базы данных имя таблицы;
· <Имя столбца> - уникальное имя столбца в таблице;
· <Тип данных> - один из предопределенных или созданных пользователем типов данных;
· NULL | NOT NULL – ключевые слова, определяющие, разрешено или нет использование в столбце значение NULL;
· IDENTITY – ключевое слово, показывающее, что за формирование значений в этой таблице отвечает SQL Server;
· ROWGUIDCOL – ключевое слово, показывающее, что новый столбец определяет глобальный уникальный идентификатор (тип данных - Uniqueidentifier);
· <Имя столбца> AS <Рассчитываемое значение> - позволяет определить виртуальный, физически не хранящийся в таблице столбец, который нельзя использовать в качестве ключевого при построении индекса;
· DEFAULT – используется для установки значений по умолчанию.
Приведем пример создания таблицы ОПЛАТА в базе данных ГОСТИНИЦА: