J'ai une table ABC dans une base de données DB. Je souhaite créer des copies d'ABC avec les noms ABC_1, ABC_2, ABC_3 dans le même DB. Comment puis-je faire cela en utilisant Management Studio (de préférence) ou des requêtes SQL?
Ceci est pour SQL Server 2008 R2.
sql
sql-server-2008
tsql
sql-server-2008-r2
sequel.learner
la source
la source
Réponses:
Utilisez
SELECT ... INTO
:Cela créera une nouvelle table
ABC_1
qui a la même structure de colonne queABC
et contient les mêmes données. Les contraintes (par exemple les clés, les valeurs par défaut), cependant, ne sont pas copiées.Vous pouvez exécuter cette requête plusieurs fois avec un nom de table différent à chaque fois.
Si vous n'avez pas besoin de copier les données, uniquement pour créer une nouvelle table vide avec la même structure de colonnes, ajoutez une
WHERE
clause avec une expression erronée:la source
SELECT TOP(0) *
plus propre que laWHERE
méthode de déclaration toujours fausseCopier le schéma (générer DDL) via l'interface utilisateur SSMS
Dans SSMS, développez votre base de données dans l' Explorateur d'objets , allez dans Tables , cliquez avec le bouton droit sur la table qui vous intéresse et sélectionnez Script Table As , Create To , New Query Editor Window . Faites une recherche et remplacez ( CTRL + H ) pour changer le nom de la table (c.-à-d. Mettez
ABC
dans le champ Rechercher etABC_1
dans le Remplacer par puis cliquez sur OK ).Copier le schéma via T-SQL
Les autres réponses montrant comment faire cela par SQL fonctionnent également bien, mais la différence avec cette méthode est que vous obtiendrez également des index, des contraintes et des déclencheurs.
Copier les données
Si vous souhaitez inclure des données, après avoir créé cette table, exécutez le script ci-dessous pour copier toutes les données d'ABC (en conservant les mêmes valeurs d'ID si vous avez un champ d'identité):
la source
IDENTITY_INSERT
sur ON pour permettre de définir la colonne d'identité "manuellement", vous avez mélangé l'ordre dans votre exemple. Aussi, vous devez EXPLICITER la liste de vos colonnesSi vous souhaitez dupliquer la table avec toutes ses contraintes et clés, procédez comme suit:
Ensuite, pour copier les données, exécutez ce script ci-dessous:
la source
1ère option
2ème option: utiliser SSIS, c'est-à-dire faire un clic droit sur la base de données dans l'explorateur d'objets> toutes les tâches> exporter les données
la source
Voici une autre option:
la source
utilisez sql server manegement studio ou netcat et cela sera plus facile à manipuler sql
la source
Vous devez écrire SSIS pour copier la table et ses données, contraintes et déclencheurs. Nous avons dans notre organisation un logiciel appelé Kal Admin de kalrom Systems qui a une version gratuite à télécharger (je pense que la fonction de copie des tableaux est facultative)
la source