![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Команда INSERT позволяет вставить в таблицу одну или несколько строк. Приведем синтаксис команды INSERT:
INSERT [INTO]
{ table_name [WITH (<table_hint_limited> [...n])]
| view_name
| rowset_function_limited }
{ [(column_list[,...n])]
{ VALUES ({ DEFAULT | NULL | expression }[....n])
| derived_table | execute_statement } } | DEFAULT VALUES
Рассмотрим назначение каждого из аргументов команды.
INTO – дополнительное ключевое слово. Оно может быть использовано в команде между словом INSERT и именем таблицы для обозначения того, что следующий параметр является именем таблицы, в которую будут вставлены данные.
Table_name – имя таблицы, в которую необходимо вставить данные.
WITH <table_hint_limited> – специальная конструкция, с помощью которой можно на время вставки строк в таблице установить определенный уровень блокирования.
view_name – имя представления, в которое необходимо вставить данные. Изменение данных через представление должно быть разрешено. SQL Server 7.0 не может изменять с помощью одной команды данные в более чем одной исходной таблице представления.
rowset_function_limited – этот аргумент содержит команды OPENQUERY и OPENROWSET, которые определяют набор данных для вставки.
column_list – этот аргумент содержит список колонок строки, в которые будет производиться вставка данных. Если этот аргумент опущен, то сервер будет вставлять данные последовательно во все колонки, начиная с первой. Значения для колонок указываются аргументом VALUES.
VALUES – ключевое слово, которое определяет набор данных, которые будут вставлены в таблицу. Количество аргументов VALUES определяется количеством колонок в таблице или количеством колонок в списке column_list (если таковой имеется). Для каждой колонки таблицы можно указать один из трех возможных вариантов:
– DEFAULT. Будет вставлено значение по умолчанию, определенное для колонки.
– NULL. При указании этого параметра в колонку, для которой разрешено хранение значений NULL, будет вставлено значение NULL.
– EXPRESSION. В явном виде задает значение, которое будет вставлено в колонку таблицы.
derived_table – этот аргумент может содержать команду SELECT, с помощью которой будет производиться выборка данных, которые необходимо вставить в таблицу.
execute_statement – набор данных, помимо использования команды SELECT, может быть получен с помощью команды EXECUTE как результат выполнения хранимой процедуры или другой конструкции.
DEFAULT VALUES – при указании этого параметра строка будет содержать только значения по умолчанию. Если для колонки не установлено значение по умолчанию, но разрешено хранение значений NULL, то в колонку будет вставлено NULL. Если же для колонки не разрешено хранение NULL, нет значения по умолчанию и в команде INSERT не указано значение для вставки, то сервер выдаст сообщение об ошибке и прервет выполнение команды. Это произойдет также в случае неправильного указания типа данных.
В простейшем случае вставка данных с помощью команды INSERT предлагает использование конструкции INSERT...VALUES:
INSERT [INTO] table_or_view
[(column_list[..)]
VALUES (data_values [...n])
Аргумент table_or_view указывает имя таблицы или представления, в которые необходимо вставить строку данных.
Если необходимо быстро создать таблицу, имеющую такую структуру, чтобы в ней можно было сохранить результат выполнения запроса, то лучшим выходом будет использование команды SELECT...INTO. При выполнении запроса SELECT...INTO сервер автоматически создаст новую таблицу с нужной структурой и вставит в нее полученный набор строк. Синтаксис команды SELECT...INTO следующий:
SELECT {column_name [[AS] column_alias [...n]}
INTO new_table FROM {source_table [..n]
<select_options>]
Рассмотрим назначение каждого из аргументов:
Аргумент column_name указывает имя колонки таблицы, которая будет включена в результат. Указанная колонка должна принадлежать одной из таблиц, перечисленных в списке FROM {source_table[..n]}. Если колонки, принадлежащие разным таблицам, имеют одинаковые имена, то для колонки необходимо использовать псевдоним. В противном случае сервер попытается создать таблицу с колонками, имеющими одинаковые имена. В результате произойдет ошибка, и выполнение запроса будет прервано
new_table – содержит имя таблицы, которая будет создана.
Конструкция FROM {source_table} содержит список исходных таблиц. В более сложных запросах с помощью этой конструкции определяются условия связывания двух и более таблиц.
select_options – содержит список различных параметров команды select.
Дата публикования: 2014-11-28; Прочитано: 358 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!