Изменение структуры таблицы средствами 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