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


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

применимо к: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. Если вы хотите скопировать сводную информацию, укажите параметры группировки. Дополнительные сведения см. в разделе "Сводка результатов запроса" (визуальные инструменты для баз данных).

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