Читайте также: |
|
INSERT [INTO] имя_таблицы [ (список_полей) ] команда_SELECT
INSERT [INTO] имя_таблицы [ (список_полей) ] конструкция_SQL
Необязательный параметр INTO используется лишь для обозначения того, что следующий параметр имя_таблицы является именем таблицы, в которую будут вставлены данные.
Параметр список_полей указывает имена полей, разделенных запятыми, в которые будет производиться вставка данных. В списке полей должны присутствовать все поля, для которых запрещены Null-значения и не определены значения по умолчанию. Запрещено указание вычисляемых полей. Если аргумент список_полей опущен, то данные будут вставляться последовательно во все поля таблицы, начиная с первого.
Набор вставляемых данных определяется в параметре VALUES, причем количество аргументов и их значения должны соответствовать количеству полей в списке и их типам, а порядок аргументов должен соответствовать порядку полей.
Зарезервированное слово DEFAULT VALUES указывает на то, что запись будет содержать только значения по умолчанию.
Например, имеется таблица Student (StudentID, FirstName, LastName, BirthDate), в которой значения поля StudentID задается счетчиком. Для добавления записи в эту таблицу можно записать следующую конструкцию:
INSERT INTO Student (FirstName, LastName, BirthDate)
VALUES (‘Иван’, ‘Иванов’, Convert (datetime,'01.01.1992',104))
Поле StudentID не указано, поскольку его значения генерируются автоматически.
Выполнение команды
INSERT INTO Students DEFAULT VALUES
приведет к ошибке, т.к. не для всех полей указаны значения по умолчанию.
При использовании команды SELECT в таблицу вставляется несколько записей, являющихся результатов выборки данных других таблиц. Однако если хотя бы одна из вставляемых записей нарушает ограничения целостности таблицы, то вся команда INSERT отменяется.
Например, следующей командой в таблицу Student вставляются данные из таблицы DimEmployee базы данных AdventureWorksDW:
INSERT INTO Student (FirstName, LastName, BirthDate)
SELECT FirstName, LastName, BirthDate
FROM AdventureWorksDW..DimEmployee
Задание 1. В таблицу Сотрудник Вашей базы данных внесите сведения о двух сотрудниках с помощью первой синтаксической формы INSERT.
Задание 2. В таблицу Заказчик Вашей базы данных внесите сведения о заказчиках из таблицы DimCustomer базы данных AdventureWorksDW. (Примечание: самостоятельно проанализируйте и решите, какие поля можно заполнить)
Дата добавления: 2014-12-20; просмотров: 105 | Поможем написать вашу работу | Нарушение авторских прав |