Clause INTO (Transact-SQL)

Mis à jour : 15 septembre 2007

Crée une nouvelle table et y insère les lignes résultant de la requête.

Icône Lien de rubriqueConventions de syntaxe de Transact-SQL

Syntaxe

[ INTO new_table ]

Arguments

  • new_table
    Spécifie le nom d'une nouvelle table à créer en fonction des colonnes de la liste de sélection et des lignes choisies par la clause WHERE. Le format de la variable new_table est déterminé par l'évaluation des expressions de la liste de sélection. Les colonnes de new_table sont créées dans l'ordre spécifié par la liste de sélection. Chaque colonne de new_table possède le même nom, le même type de données et la même valeur que l'expression correspondante dans la liste de sélection.

    Lorsqu'une colonne calculée est comprise dans la liste de sélection, la colonne correspondante de la nouvelle table n'est pas une colonne calculée. Les valeurs de la nouvelle colonne sont les valeurs calculées au moment de l'exécution de l'instruction SELECT … INTO.

    L'importance de l'enregistrement dans les journaux de certaines opérations en bloc, y compris l'opération SELECT INTO, dépend du mode de récupération effectif pour la base de données. Pour plus d'informations, consultez Présentation des modes de récupération.

    ms188029.note(fr-fr,SQL.90).gifRemarque :
    Dans les versions antérieures à SQL Server 2000, la création d'une table permanente à l'aide de SELECT INTO n'était possible que si l'option select into/bulkcopy était définie. Dans SQL Server 2000 et les versions ultérieures, l'option de base de données select into/bulkcopy n'a plus d'incidence sur la possibilité de créer une table permanente par le biais de SELECT INTO.

Notes

L'utilisateur exécutant une instruction SELECT avec la clause INTO doit disposer de l'autorisation CREATE TABLE dans la base de données de destination.

Vous ne pouvez pas utiliser l'instruction SELECT INTO pour créer une table partitionnée même lorsque la table source est partitionnée. SELECT INTO n'utilise pas le schéma de partition de la table source. À la place, la nouvelle table est créée dans le groupe de fichiers par défaut. Pour insérer des lignes dans une table partitionnée, vous devez d'abord créer la table partitionnée puis utiliser l'instruction INSERT INTO…SELECT FROM.

L'instruction SELECT...INTO ne peut pas être utilisée avec la clause COMPUTE.

Exemples

L'exemple suivant crée la table dbo.EmployeeAddresses en sélectionnant sept colonnes de diverses tables liées aux salariés et aux adresses.

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

Voir aussi

Référence

SELECT (Transact-SQL)
Exemples SELECT (Transact-SQL)

Autres ressources

Insertion de lignes au moyen de l'instruction SELECT INTO

Aide et Informations

Assistance sur SQL Server 2005

Historique des modifications

Version Historique

15 septembre 2007

Nouveau contenu :
  • Ajout d'informations relatives aux tables partitionnées dans la section Notes.
  • Ajout de la section Exemples.