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


Создание запросов на вставку результатов (визуальные инструменты базы данных)

применимо к:SQL Server

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

Совет

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

При создании запроса "Вставка результатов" необходимо указать:

  • Таблица базы данных для копирования строк в (целевую таблицу).

  • Таблица или таблицы для копирования строк из (исходной таблицы). Исходная таблица или таблицы становятся частью вложенных запросов. При копировании в таблицу исходная таблица совпадает с целевой таблицей.

  • Столбцы в исходной таблице, содержимое которой требуется скопировать.

  • Целевые столбцы в таблице назначения, куда будут скопированы данные.

  • Условия поиска для определения строк, которые требуется скопировать.

  • Порядок сортировки, если вы хотите скопировать строки в определенном порядке.

  • Параметры group By, если вы хотите скопировать только сводную информацию.

Например, следующий запрос копирует сведения о заголовке из таблицы titles в архивную таблицу с именем archivetitles. Запрос копирует содержимое четырех столбцов для всех заголовков, принадлежащих конкретному издателю:

INSERT INTO archivetitles   
   (title_id, title, type, pub_id)  
SELECT title_id, title, type, pub_id  
FROM titles  
WHERE (pub_id = '0766')  

Заметка

Чтобы вставить значения в новую строку, используйте запрос insert Values.

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

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

Осторожность

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

Создание запроса "Вставка результатов"

  1. Создайте новый запрос и добавьте таблицу, из которой нужно скопировать строки (исходную таблицу). При копировании строк в таблице можно добавить исходную таблицу в качестве целевой таблицы.

  2. В меню конструктора запросов выберите пункт Изменить Тип, а затем щелкните Вставить Результаты.

  3. В диалоговом окне "Выбор целевой таблицы для вставки результатов" выберите таблицу для копирования строк в (целевую таблицу).

    Заметка

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

  4. В прямоугольнике, представляющей объект таблицы или табличного значения, выберите имена столбцов, содержимое которых нужно скопировать. Чтобы скопировать все строки, выберите * (все столбцы).

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

  5. В столбце Добавления области условий выберите целевой столбец в целевой таблице для каждого копируемого столбца. Выберите имя таблицы.* при копировании целых строк. Столбцы в целевой таблице должны иметь те же (или совместимые) типы данных, что и столбцы в исходной таблице.

  6. Если вы хотите скопировать строки в определенном порядке, укажите порядок сортировки. Дополнительные сведения см. в Результаты сортировки и группового запроса (визуальные инструменты базы данных).

  7. Укажите строки для копирования, введя условия поиска в столбце фильтра. Дополнительные сведения см. в указания условий поиска (визуальные инструменты баз данных).

    Если условие поиска не указано, все строки из исходной таблицы будут скопированы в целевую таблицу.

    Заметка

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

  8. Если вы хотите скопировать сводную информацию, укажите параметры группировки. Дополнительные сведения см. в разделе Сводка результатов запросов (визуальные инструменты баз данных).

При выполнении запроса "Вставка результатов" результаты не отображаются в области результатов . Вместо этого появится сообщение, указывающее, сколько строк было скопировано.

См. также

типы запросов (визуальные инструменты для баз данных)
проектных запросов и просмотров разделов (визуальные инструменты для баз данных)