40 Изменение структуры таблицы средствами T-SQL. Удаление таблиц.
Способ изменения структуры таблицы:
ALTER TABLE table
{[ALTER COLUMN
column_name {new_data_type [(precision [, scale])]
[NULL | NOT NULL]
| {ADD | DROP} ROWGUIDCOL}]
|ADD
{[<column_definition> ]
column_name AS computed_column_expression}[,...n]
[WITH CHECK | WITH NOCHECK] ADD
{<table_contraint>}[...n]
|DROP
[CONSTRAINT] contraint_name | COLUMN column }[....n]
{CHECK | NOCHECK} CONSTRAINT {ALL | constraint_name[,...n]}
{ENABLE | DISABLE} TRIGGER {ALL | trigger_name[....n]}}
С помощью команды ALTER TABLE можно изменить определение уже существующих колонок, удалить любую из них, а также добавить в таблицу новые колонки:
Изменение определения колонки осуществляется с использованием ALTER COLUMN, после которого помещается имя изменяемой колонки. Можно изменить тип данных колонки (new_data_type), размерность (precision) и точность (scale). При желании можно указать, разрешено ли колонке содержать значения NULL. В этом случае обязательно нужно указать тип данных для колонки.
Для определения новой колонки - ADD. За ним следует описание колонки, которое имеет такой же формат, как и при создании колонки с помощью команды CREATE TABLE.
Удаление колонок из таблицы.
В случае необходимости можно удалить из таблицы некоторые колонки - DROP. Вы можете удалить как конкретную колонку (COLUMN), так и определенное ограничение на значение колонки. Однако необходимо помнить, что нельзя удалять следующие колонки:
1 колонки, задействованные в индексе;
2 колонки, полученные в результате репликации;
3 колонки, для которых определены любые ограничения на значения;
4 колонки, для которых определены значения по умолчанию;
Управление триггерами.
При помощи данной команды можно управлять состоянием триггеров, определенных для данной таблицы. DISABLE TRIGER - отключает триггер. Чтобы активизировать триггер - ENABLE TRIGGER. Если требуется управлять сразу всеми триггерами - ALL.
Удаление таблиц.
Для удаления таблиц
средствами Transact SQL используется
команда DROP TABLE. Перед
удалением необходимо убедиться, что удаляемая таблица не имеет взаимосвязи с
другими таблицами.