Insérer sans la clef primaire

Le
WonderMan
Bonjour,

J'utilise une fonction d'insertion de la façon suivante :

INSERT INTO Mon_ServeurMon_Instance.MaBase.dbo.MaTable SELECT * FROM
MaTable WHERE MaClef = 42

pour recopier les données de la table MaTable dans une table identique
d'un serveur distant.

Le problème est que le SELECT retourne aussi la clef primaire de ma
table MaTable, et que SQL Server refuse d'insérer cette valeur dans la
table Mon_ServeurMon_Instance.MaBase.dbo.MaTable, car les deux tables
ne sont pas identiques en termes de données.

Comment faire pour que l'insertion se fasse le plus simplement
possible, mais en laissant chaque table gérer sa propre clef primaire,
donc sans insérer le champ MaClef de la table MaTable dans la table
Mon_ServeurMon_Instance.MaBase.dbo.MaTable ?

Merci.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Test recherche
Le #11880031
Bonjour,
Je pense qu'il faut rajouter le nom des champs dans ton instruction soit :
INSERT INTO Mon_ServeurMon_Instance.MaBase.dbo.MaTable
(
Champ1,
Champ2,
Champ3,
Champ4....
)
SELECT
Champ1,
Champ2,
Champ3,
Champ4....
FROM MaTable WHERE MaClef = 42

Le champ1 va dans le champ1, le champ2 va dans le champ2....
Cordialement
Stéphane


"WonderMan"
Bonjour,

J'utilise une fonction d'insertion de la façon suivante :

INSERT INTO Mon_ServeurMon_Instance.MaBase.dbo.MaTable SELECT * FROM
MaTable WHERE MaClef = 42

pour recopier les données de la table MaTable dans une table identique
d'un serveur distant.

Le problème est que le SELECT retourne aussi la clef primaire de ma table
MaTable, et que SQL Server refuse d'insérer cette valeur dans la table
Mon_ServeurMon_Instance.MaBase.dbo.MaTable, car les deux tables ne sont
pas identiques en termes de données.

Comment faire pour que l'insertion se fasse le plus simplement possible,
mais en laissant chaque table gérer sa propre clef primaire, donc sans
insérer le champ MaClef de la table MaTable dans la table
Mon_ServeurMon_Instance.MaBase.dbo.MaTable ?

Merci.




Publicité
Poster une réponse
Anonyme