2010-12-10 69 views
0

Juste pour introduire ce que je dois faire est la suivante:Utilisation de SSIS pour vérifier si un enregistrement existe et effectuer une tâche

  • Les données d'entrée d'une procédure stockée dans une source de données OLE DB dans un données tâche de flux
  • Utilisez la sortie du jeu de données de la source OLE DB à boucle à travers et vérifier si chaque enregistrement existe dans la base de données de destination
    • Si elle le fait, ok, allez-y.
    • Si ce n'est pas le cas, je souhaite insérer une valeur dans une table séparée.
  • Ensuite, supprimez tous les enregistrements de la table de destination.
  • Rétablissez la table de destination avec l'intégralité du jeu de données renvoyé dans la source OLE DB.

Jusqu'à présent, j'ai la lecture source OLE DB dans le jeu de résultat renvoyé de la procédure stockée, le OLE DB commande supprime tous les enregistrements de la table de destination et enfin la table de destination OLE DB est remplie avec les enregistrements sortie de la source OLE DB.

CE QUE JE BESOIN D'AIDE:

Quelqu'un peut-il s'il vous plaît me dire comment faire ce qui suit: - Vérifiez chaque enregistrement de la sortie de la source OLE DB pour voir si elle existe dans la table de destination. - Si aucun enregistrement n'existe, entrez les données dans une table séparée.

Il serait très apprécié si quelqu'un pouvait vous aider!

Merci, Cian

Répondre

1

Vous pouvez utiliser la tâche de recherche pour cela - passer les lignes de la source OLEDB dans ce et match sur les touches pour les lignes. Envoyez les lignes non correspondantes à l'autre table.

Cela ressemble à ce que vous voulez utiliser une multidiffusion avant de faire cela - un chemin pour faire la goutte & réinsérer et l'autre chemin pour faire ce que j'ai dit ci-dessus (envoyer une valeur à l'autre table).