nborges
Messages postés43Date d'inscriptionlundi 14 juin 2004StatutMembreDernière intervention 2 novembre 2007
-
21 sept. 2006 à 15:03
cs_skweeky
Messages postés259Date d'inscriptionmercredi 3 mai 2006StatutMembreDernière intervention11 janvier 2010
-
22 sept. 2006 à 19:39
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?
cs_skweeky
Messages postés259Date d'inscriptionmercredi 3 mai 2006StatutMembreDernière intervention11 janvier 20108 22 sept. 2006 à 19:39
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.