Copier Table

Résolu
Messages postés
43
Date d'inscription
lundi 14 juin 2004
Statut
Membre
Dernière intervention
2 novembre 2007
-
Messages postés
259
Date d'inscription
mercredi 3 mai 2006
Statut
Modérateur
Dernière intervention
11 janvier 2010
-
salut,
j´ai besoin d´une table temporaire pour des report, comme il en existe plus d´un, j´ai une table modele qu je cris si elle n´existe pas, ensuite je veux copier la structure et les keys de cette table, je fais :
select * into NEW_Table from table where 1=2    
 cela sur SQL server
cela copie la sctructure mais pas les primary keys..
comment je peux faire?

merci d´avance

[8D]

1 réponse

Messages postés
259
Date d'inscription
mercredi 3 mai 2006
Statut
Modérateur
Dernière intervention
11 janvier 2010
7
Salut,


SQL Server quand il crée une table (temporaire ou non) à l'aide de SELECT INTO ne copie que la définition des champs, pas du tout les contraintes et les index qui y sont attachés.


Pour éviter ce genre de comportement il faut créer manuellement la table via un CREATE TABLE, ajouter les clef primaire, etc.
Puis executer un commande INSERT INTO ... SELECT FROM pour inserer les données.


Le plus simple c'est de générer le scripts de création de la table depuis SQL Server Management Studio.


Pas d'autres alternatives, même si c'est effectivement plus compliqué que le SELECT INTO.

Christian Robert - Winwise
http://blogs.developpeur.org/christian/
MCT - Database Development / Database Administration