Поделиться через


Инструкция INSERT INTO (Microsoft Access SQL)

Область применения: Access 2013, Office 2013

Эта инструкция добавляет одну или несколько записей в таблицу Это называется запросом на добавление.

Синтаксис

Запрос на добавление нескольких записей

INSERT INTO целевой объект [(field1[, field2[, ...]])] [IN externaldatabase] SELECT [источник.] field1[, field2[, ...] Выражение from tableexpression

Запрос на добавление одной записи

INSERT INTO целевой объект [(field1[, field2[, ...]])] VALUES (value1[, value2[, ...])

Инструкция INSERT INTO состоит из следующих элементов:

Часть

Описание

конечный объект

Имя таблицы или запроса, куда добавляются записи.

поле1, поле2

После аргумента конечный_объект — имена полей, в которые добавляются данные; после аргумента источник — имена полей, из которых извлекаются данные.

внешняя_база_данных

Путь к внешней базе данных. Описание пути см. в статье, посвященной предложению IN.

источник

Имя таблицы или запроса, откуда копируются записи.

выражение_таблицы

Одно или несколько имен таблиц, из которых требуется получить записи. Этот аргумент может представлять собой имя отдельной таблицы, результирующее выражение, составленное с использованием операций INNER JOIN, LEFT JOIN или RIGHT JOIN, или сохраненный запрос.

значение1, значение2

Значения, которые будут добавлены в определенные поля новой записи. Каждое значение вставляется в поле, соответствующее его положению в списке: значение1 добавляется в поле1 новой записи, значение2 — в поле2 и т. д. Необходимо разделять значения запятой и заключать текстовые поля в кавычки (' ').

Примечания

С помощью инструкции INSERT INTO можно добавить в таблицу одну запись, используя указанный выше синтаксис. В этом случае указываются имена и значения для каждого поля записи. Необходимо указать все поля записи, которым присваиваются значения, и соответствующие значения. Если не указать значение поля, ему будет присвоено значение по умолчанию или Null. Записи добавляются в конец таблицы.

С помощью инструкции INSERT INTO также можно добавить набор записей из другой таблицы или запроса, используя предложение SELECT... FROM, как показано выше (см. синтаксис запроса на добавление нескольких записей). В этом случае предложение SELECT задает поля для добавления в указанный конечный_объект.

Источник или конечный_объект может быть таблицей или запросом. Если задан запрос, ядро СУБД Microsoft Access добавляет записи ко всем таблицам, которые возвращает этот запрос.

Использование инструкции INSERT INTO не является обязательным. Если она указана, она должна предшествовать инструкции SELECT.

Если конечная таблица содержит первичный ключ, убедитесь, что значения, добавляемые в одно или несколько полей первичного ключа, уникальны и отличны от NULL. В противном случае записи не будут добавлены.

Если записи добавляются в таблицу с полем "Счетчик" и вы хотите изменить их нумерацию, не включайте поле "Счетчик" в запрос. Включите поле "Счетчик" в запрос, если вы хотите сохранить исходные значения из поля.

Добавить записи в таблицу другой базы данных можно с помощью предложения IN.

Чтобы создать таблицу, используйте инструкцию SELECT... INTO для получения запроса на создание таблицы.

Прежде чем выполнять запрос на добавление, воспользуйтесь запросом на выборку с такими же условиями отбора, чтобы по полученным результатам определить, какие записи будут добавлены.

Запрос на добавление копирует записи из одной или нескольких таблиц в другую таблицу. При этом таблицы, содержащие добавляемые записи, остаются без изменений.

Вместо добавления записей из другой таблицы можно задать значение каждого поля в отдельной новой записи с помощью предложения VALUES. Если список полей опущен, в предложение VALUES необходимо включить соответствующие значения каждого поля таблицы; в противном случае операция INSERT не будет выполнена. Воспользуйтесь инструкцией INSERT INTO вместе с предложением VALUES для каждой дополнительной записи, которую требуется создать.

Ссылки, предоставляемые сообществом UtterAccess. UtterAccess — это премиальный вики-портал и форум, посвященный Microsoft Access.

Пример

В этом примере выбираются все записи из гипотетический таблицы New Customers, а затем они добавляются в таблицу Customers. Если отдельные столбцы не указаны, имена столбцов таблицы в инструкции SELECT должны в точности совпадать с именами столбцов таблицы в инструкции INSERT INTO.

    Sub InsertIntoX1() 
     
        Dim dbs As Database 
     
        ' Modify this line to include the path to Northwind 
        ' on your computer. 
        Set dbs = OpenDatabase("Northwind.mdb") 
         
        ' Select all records in the New Customers table  
        ' and add them to the Customers table. 
        dbs.Execute " INSERT INTO Customers " _ 
            & "SELECT * " _ 
            & "FROM [New Customers];" 
             
        dbs.Close 
     
    End Sub

В этом примере создается новая запись в таблице Employees.

    Sub InsertIntoX2() 
     
        Dim dbs As Database 
     
        ' Modify this line to include the path to Northwind 
        ' on your computer. 
        Set dbs = OpenDatabase("Northwind.mdb") 
         
        ' Create a new record in the Employees table. The  
        ' first name is Harry, the last name is Washington, 
        ' and the job title is Trainee. 
        dbs.Execute " INSERT INTO Employees " _ 
            & "(FirstName,LastName, Title) VALUES " _ 
            & "('Harry', 'Washington', 'Trainee');" 
             
        dbs.Close 
     
    End Sub