Je suis confronté à un problème conceptuel que j'ai du mal à surmonter. J'espère que les gens de SO pourront m'aider à surmonter le problème avec un coup de pouce dans la bonne direction.J'ai besoin d'une approche pour travailler avec de petits sous-ensembles d'un grand ensemble de données
Je suis en train de faire un travail ETL avec les données sources étant très similaires et très grandes. Je le charge dans une table qui est destinée à la réplication et je veux seulement les informations les plus basiques dans cette table cible.
Ma table source ressemble à ceci:
J'ai besoin de ma table cible pour refléter comme tel:
Comme vous pouvez le voir, je ne l'ai pas dupliquer le statut InTransit où il a été dupliqué dans la table source. Les étapes que j'essaie de comprendre sont
- Afficher toutes les nouvelles lignes distinctes entrées depuis la dernière exécution de la requête. (Facile)
- Pour chaque TrackingId, j'ai besoin de vérifier si chaque nouveau statut est déjà le statut le plus récent dans la cible et si tel est le cas, sinon continuez et insérez-le. Ce qui signifie que je dois aussi commencer au plus tôt des nouveaux statuts et partir de là. (Je n'ai pas * (! # Dans la moindre idée comment je vais le faire)
- Pour ce faire, toutes les 15 minutes afin que les statuts sont conservés très récent si l'étape 2 doit être performant.
Ma table source pourrait facilement constitué de 100k + lignes, mais ayant besoin de courir toutes les 15 minutes, il faut que je m'assure que c'est très performant, donc pourquoi j'essaie vraiment d'éviter les curseurs
Maintenant, la seule façon de voir cela est en utilisant un sprl CLR mais je pense qu'il peut y avoir de meilleurs moyens donc j'espère que vous pourrez me pousser dans la bonne direction. Je suis sûr que je laisse probablement quelque chose que vous pourriez avoir besoin alors s'il vous plaît laissez-moi savoir quelles informations vous pouvez avoir besoin et je serai heureux de fournir.
Merci d'avance!
EDIT: OK Je n'étais pas assez explicite dans ma question. Ma table source va contenir plusieurs ID de suivi. Il peut y avoir jusqu'à 100k + lignes contenant plusieurs TrackingId et plusieurs statuts pour chaque trackingId. Je dois mettre à jour la table cible comme ci-dessus pour chaque identifiant de suivi individuel, mais ma source sera un amalgame de trackingId.
Cela réalise tout ce dont j'avais besoin, merci beaucoup! – joshlrogers