web-dev-qa-db-fra.com

Comment créer une table en double avec un nouveau nom dans SQL Server 2008

Comment créer une table en double avec uniquement la structure dupliquée avec un nouveau nom dans SQL Server 2008?

J'ai une table avec 45 champs donc je veux en créer une nouvelle avec la même structure mais un nouveau nom.

23
Eyla

Faites un clic droit sur la table dans SQL Management Studio.

Sélectionnez Script ... Créer pour ... Nouvelle fenêtre de requête.

Cela générera un script pour recréer la table dans une nouvelle fenêtre de requête.

Changez le nom de la table dans le script pour choisir le nom de la nouvelle table.

Exécutez le script.

44
Avalanchis
SELECT * 
INTO target
FROM  source
WHERE 1 = 2
30
Conrad Frix

Ici, je vais vous montrer 2 implémentations différentes:

Premier:

Si vous avez juste besoin de créer une table en double, lancez simplement la commande:

SELECT top 0 * INTO [dbo].[DuplicateTable]
FROM [dbo].[MainTable]

Bien sûr, ça ne marche pas complètement. les contraintes ne sont pas copiées, pas plus que les clés primaires ou les valeurs par défaut. La commande crée uniquement une nouvelle table avec la même structure de colonnes et si vous souhaitez insérer des données dans la nouvelle table.

Deuxième (recommandé):

Mais si vous voulez dupliquer la table avec toutes ses contraintes et ses clés, suivez les étapes ci-dessous:

  1. Ouvrez la base de données dans SQL Management Studio.
  2. Cliquez avec le bouton droit sur la table que vous souhaitez dupliquer.
  3. Sélectionnez la table de script sous -> Créer vers -> Nouvelle fenêtre de l'éditeur de requête. Cela générera un script pour recréer la table dans une nouvelle fenêtre de requête.
  4. Modifiez le nom de la table et les clés et contraintes relatives dans le script.
  5. Exécutez le script.
2
Md. Rousonur Jaman

Pour créer une nouvelle table à partir d'une table existante

SELECT * INTO New_table FROM Old_Table

Pour insérer des données d'une table, une autre table

Insérer dans Table_Name2 sélectionner top 1 * from Table_Name1

1
user8068654
  SELECT * INTO newtable FROM oldtable where 1=2


  where 1=2, this statement is use when only Copy complete structure of a 
  table in sql without Copying data of table

 SELECT * INTO newtable FROM oldtable 
 create table with data you can use this statement 
0
Akhil Singh