Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Использование INSERT



Команда 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; Прочитано: 341 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...