Изменение структуры таблицы средствами 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 можно изменить определение уже существующих колонок, удалить любую из них, а также добавить в таблицу новые колонки:
Изменение определения колонки осуществляется с использованием ALTERCOLUMN, после которого помещается имя изменяемой колонки. Можно изменить тип данных колонки (new_data_type), размерность (precision) и точность (scale). При желании можно указать, разрешено ли колонке содержать значения NULL. В этом случае обязательно нужно указать тип данных для колонки.
Для определения новой колонки - ADD. За ним следует описание колонки, которое имеет такой же формат, как и при создании колонки с помощью команды CREATETABLE.
Удаление колонок из таблицы.
В случае необходимости можно удалить из таблицы некоторые колонки - DROP. Вы можете удалить как конкретную колонку (COLUMN), так и определенное ограничение на значение колонки. Однако необходимо помнить, что нельзя удалять следующие колонки:
1 колонки, задействованные в индексе;
2 колонки, полученные в результате репликации;
3 колонки, для которых определены любые ограничения на значения;
4 колонки, для которых определены значения по умолчанию;
Управление триггерами.
При помощи данной команды можно управлять состоянием триггеров, определенных для данной таблицы. DISABLE TRIGER - отключает триггер. Чтобы активизировать триггер - ENABLE TRIGGER. Если требуется управлять сразу всеми триггерами - ALL.
Удаление таблиц.
Для удаления таблиц средствами Transact SQL используется команда DROP TABLE. Перед удалением необходимо убедиться, что удаляемая таблица не имеет взаимосвязи с другими таблицами.
41 Добавление данных в таблицу средствами T-SQL. Использование INSERT и SELECT…INTO.
Команда INSERT позволяет вставить в таблицу одну или несколько строк.
INSERT [INTO]
{ table_name }
{ [(column_list[, ...n])]
{ VALUES ( { DEFAULT | NULL | expression }[....n])
| derived_table | execute_statement } } | DEFAULT VALUES
INTO - может быть использовано в команде между словом INSERT и именем таблицы для обозначения того, что следующий параметр является именем таблицы, в которую будут вставлены данные.
Table_name - имя таблицы, в которую необходимо вставить данные.
column_list - этот аргумент содержит список колонок строки, в которые будет производиться вставка данных. Если этот аргумент опущен, то сервер будет вставлять данные последовательно во все колонки, начиная с первой.
VALUES - определяет набор данных, которые будут вставлены в таблицу.
derived_table - этот аргумент может содержать команду SELECT, с помощью которой будет производиться выборка данных, которые необходимо вставить в таблицу.
execute_statement. - набор данных, помимо использования команды SELECT, может быть получен с помощью команды EXECUTE как результат выполнения хранимой процедуры или другой конструкции.
DEFAULT VALUES - при указании этого параметра строка будет содержать только значения по умолчанию.
Если необходимо быстро создать таблицу, имеющую такую структуру, чтобы в ней можно было сохранить результат выполнения запроса, то лучшим выходом будет использование команды SELECT...INTO. При выполнении запроса SELECT...INTOсервер автоматически создаст новую таблицу с нужной структурой и вставит в нее полученный набор строк. Синтаксис команды SELECT...INTO следующий:
SELECT {column_name [[AS] column_alias [...n]}
INTO new_table FROM {source_table [..n]
<select_options>]
new_table - содержит имя таблицы, которая будет создана.
select_options - содержит список различных параметров команды select