Bonjour je dois fusionner 6 bases de données en une seule.
jusque la pas de probleme car mes tables n'avait qu'une clé donc assez facile de faire une requette afin de ne pas importer de doublons.
Mais la je m(attaque a des tables qui ont deux voir 3 clés.
j'ai donc fais un select avec un LEFT JOIN, le select fonctionne parfaitement et j'ai vérifié les données affichés sont correctes et sans doublons, mais le problemes c'est que des que je rajoute le INSERT INTO j'ai une erreur.
insert into aertec.dbo.fur
SELECT *
FROM sqlbase1.dbo.fur
left join aertec.dbo.fur ON (sqlbase1.dbo.fur.codefourniture=aertec.dbo.fur.codefourniture and sqlbase1.dbo.fur.codefournisseur=aertec.dbo.fur.codefournisseur)
WHERE aertec.dbo.fur.codefourniture IS NULL AND aertec.dbo.fur.codefournisseur IS NULL
Serveur*: Msg 213, Niveau 16, État 5, Ligne 1
Erreur INSERT : le nom ou le numéro de colonne des valeurs fournies ne correspondent pas à la définition de la table.
Cependant si je precise quel champ sur lesquels porte le INSERT INTO cela fonctionne.
insert into aertec.dbo.fur (CodeFourniture, CodeFournisseur)
SELECT sqlbase1.dbo.fur.CodeFourniture, sqlbase1.dbo.fur.CodeFournisseur
FROM sqlbase1.dbo.fur
left join aertec.dbo.fur ON (sqlbase1.dbo.fur.codefourniture=aertec.dbo.fur.codefourniture and sqlbase1.dbo.fur.codefournisseur=aertec.dbo.fur.codefournisseur)
WHERE aertec.dbo.fur.codefourniture IS NULL AND aertec.dbo.fur.codefournisseur IS NULL
j'ai l'impression que si je précise pas les champs il ne sait pas dans quel ordre les ecrire.
je ne peux pas taper tous les champs j'en ai plus de 100 par table et une bonne 20aine de table comme ceci a traiter.
avez vous une idée du probleme.
Partager