Копирование столбцов из одной таблицы в другую (компонент Database Engine)

В этом разделе описывается копирование столбцов из одной таблицы в другую, когда копируется либо только определение столбца, либо определение и данные из SQL Server 2012 с помощью среды Среда SQL Server Management Studio или Transact-SQL.

В этом разделе

  • Перед началом работы выполните следующие действия.

    Ограничения

    Безопасность

  • Копирование столбцов с помощью

    Среда SQL Server Management Studio

    Transact-SQL

Перед началом работы

Ограничения

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

Безопасность

Разрешения

Требуется разрешение ALTER на таблицу.

Значок стрелки, используемый со ссылкой «В начало»[В начало]

Использование среды SQL Server Management Studio

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

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

  2. Выберите вкладку исходной таблицы и выделите нужные столбцы.

  3. В меню Правка выберите Копировать.

  4. Выберите вкладку таблицы, в которую требуется скопировать столбцы.

  5. Выделите столбец, после которого нужно поместить вставляемые столбцы, и в меню Правка выберите Вставить.

Копирование данных из одной таблицы в другую

  1. Следуйте приведенным выше инструкциям для копирования определения столбцов.

    ПримечаниеПримечание

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

  2. В обозревателе объектов щелкните правой кнопкой мыши папку Представления и выберите в контекстном меню пункт Создать представление.

  3. В меню Конструктор запросов выберите пункт Тип изменения, а затем пункт Вставить результаты.

  4. В диалоговом окне Выберите целевую таблицу для инструкции Insert Results выберите таблицу, куда необходимо скопировать данные, и нажмите кнопку ОК.

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

    ПримечаниеПримечание

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

  5. Щелкните правой кнопкой мыши панель диаграммы и в контекстном меню выберите пункт Добавить таблицу в диаграмму.

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

    Таблицы появляются на панели диаграммы в сокращенной форме.

  7. В таблицах отметьте столбцы, данные из которых необходимо скопировать.

  8. На панели критериев в столбце Присоединение для каждого целевого столбца выберите столбец, из которого должны быть скопированы данные.

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

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

  10. Чтобы скопировать сводные данные, укажите параметры Group By. Дополнительные сведения см. в разделе Получение суммарных или статистических значений для всех строк в таблице (визуальные инструменты для баз данных).

  11. Для запуска запроса нажмите кнопку Выполнить SQL.

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

Значок стрелки, используемый со ссылкой «В начало»[В начало]

Использование Transact-SQL

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

  • Нельзя копировать отдельные столбцы из одной таблицы в другую (существующую) с использованием инструкций Transact-SQL. Однако можно создать новую таблицу в файловой группе по умолчанию и вставить в нее результирующие строки из запроса с помощью инструкции SELECT INTO. Дополнительные сведения см. в разделе Предложение INTO (Transact-SQL).

Копирование данных из одной таблицы в другую

  1. В обозревателе объектов установите соединение с экземпляром компонента Компонент Database Engine.

  2. На стандартной панели выберите пункт Создать запрос.

  3. Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.

    USE AdventureWorks2012;
    GO
    CREATE TABLE dbo.EmployeeSales
    ( BusinessEntityID   varchar(11) NOT NULL,
      SalesYTD money NOT NULL
    );
    GO
    INSERT INTO dbo.EmployeeSales
        SELECT BusinessEntityID, SalesYTD 
        FROM Sales.SalesPerson;
    GO
    

Значок стрелки, используемый со ссылкой «В начало»[В начало]