Qu'est ce qu'un “INSÉRER IGNORER” équivalent à MS SQL Server?

Je suis en train d'insérer des enregistrements dans la base de données MySQL à partir d'un Serveur MS SQL server à l'aide de la "OPENQUERY" mais ce que j'essaie de faire est d'ignorer le double des clés de messages. ainsi, lorsque l'exécution de la requête dans une copie, puis de les ignorer et de continuer.

Quelles sont les idées qui puis-je faire pour ignorer les doublons?

Ici est ce que je fais:

  1. tirant des enregistrements à partir de MySQL à l'aide de "OpenQuery" pour définir MySQL "A. record_id"
  2. Joindre ces documents à des enregistrements dans MS SQL Server "avec des critères précis et pas direct id" a partir de là j'ai trouver un nouveau "B. nouvelle_id" code d'identification de dossier dans SQL Server.
  3. Je veux insérer les résultats dans une nouvelle table dans MySQL comme A. record_id, B. nouvelle_id Ici, dans la nouvelle table, j'ai A. record_id défini comme clé primaire de cette table.

Le problème est que lors de l'adhésion d'Un tableau à Tableau B, à certains moments, j'ai trouver 2+ enregistrements dans la table B correspondant aux critères que je suis à la recherche de ce qui provoque la valeur A. record_id à 2 fois dans mon jeu de données avant de les insérer dans Une table qui provoque le problème. Remarque je peux utiliser la fonction d'agrégation pour éliminer les enregistrements.

J'ai enlevé la partie confusion forme à ma question. J'ai essayé à l'aide de la IGNORE_DUP_KEY mais j'obtiens une erreur de syntaxe. Je ne sais pas si je peux l'utiliser avec openquery. ici est mon cas d'utilisation INSÉREZ IGNORE_DUP_KEY OPENQUERY
IGNORE_DUP_KEY est une propriété d'un index. Pas un mot clé que vous utilisez dans une requête. Il n'est pas pertinent, sauf si vous êtes l'insertion de SQL Server donc demande de clarification sur le sens du transfert.

OriginalL'auteur Jaylen | 2014-01-19