Предложение INTO (Transact-SQL)
Изменения: 15 сентября 2007 г.
Создает новую таблицу и вставляет в нее строки результата выполнения запроса.
Соглашения о синтаксисе в Transact-SQL
Синтаксис
[ INTO new_table ]
Аргументы
new_table
Имя новой таблицы, создаваемой на основе столбцов, указанных в списке выбора, и строк, выбираемых предложением WHERE. Формат аргумента new_table определяется путем расчета выражений, указанных в списке выбора. Столбцы в таблице, указанной в аргументе new_table, создаются в порядке, соответствующем списку выбора. Все столбцы таблицы, указанной в аргументе new_table, получают такие же имена, типы данных и значения, которые указаны в соответствующем выражении в списке выбора.Если в список выбора входит вычисляемый столбец, соответствующий столбец новой таблицы не будет вычисляемым. Значениями нового столбца становятся значения, вычисленные при выполнении инструкции SELECT...INTO.
Объем информации, записываемой в журнал при определенных массовых операциях, в том числе SELECT...INTO, зависит от модели восстановления, заданной для базы данных. Дополнительные сведения см. в разделе Обзор моделей восстановления.
Примечание. В выпусках SQL Server, предшествующих SQL Server 2000, создание постоянной таблицы при помощи инструкции SELECT INTO возможно только в случае, если установлен параметр select into/bulkcopy. Однако в SQL Server 2000 и более поздних выпусках параметр базы данных select into/bulkcopy больше не влияет на возможность создания постоянной таблицы с помощью инструкции SELECT INTO.
Замечания
Пользователь, выполняющий инструкцию SELECT с предложением INTO, должен иметь разрешение CREATE TABLE в целевой базе данных.
Инструкция SELECT INTO не может использоваться для создания секционированной таблицы, даже если исходная таблица является секционированной. Инструкция SELECT INTO не использует схему секционирования исходной таблицы. Вместо этого в файловой группе по умолчанию создается новая таблица. To insert rows into a partitioned table, you must first create the partitioned table and then use the INSERT INTO…SELECT FROM statement.
Инструкцию SELECT...INTO нельзя использовать вместе с предложением COMPUTE.
Примеры
В следующем примере таблица dbo.EmployeeAddresses
создается путем выбора семи столбцов из различных таблиц, описывающих сотрудников и адреса.
USE AdventureWorks;
GO
SELECT c.FirstName, c.LastName, e.Title, a.AddressLine1, a.City, sp.Name AS [State/Province], a.PostalCode
INTO dbo.EmployeeAddresses
FROM Person.Contact AS c
JOIN HumanResources.Employee AS e ON e.ContactID = c.ContactID
JOIN HumanResources.EmployeeAddress AS ea ON ea.EmployeeID = e.EmployeeID
JOIN Person.Address AS a on a.AddressID = ea.AddressID
JOIN Person.StateProvince as sp ON sp.StateProvinceID = a.StateProvinceID;
GO
См. также
Справочник
SELECT (Transact-SQL)
Примеры использования инструкции SELECT (Transact-SQL)
Другие ресурсы
Добавление строк с использованием SELECT INTO
Справка и поддержка
Получение помощи по SQL Server 2005
Журнал изменений
Версия | Журнал |
---|---|
15 сентября 2007 г. |
|