Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Insérer sans la clef primaire

1 réponse
Avatar
WonderMan
Bonjour,

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

INSERT INTO Mon_Serveur\Mon_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_Serveur\Mon_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_Serveur\Mon_Instance.MaBase.dbo.MaTable ?

Merci.

1 réponse

Avatar
Test recherche
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" a écrit dans le message de news:

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.