Le moyen le plus rapide pour identifier les différences entre les deux tableaux?
J'ai besoin de vérifier une table en direct contre les opérations d'archives sur la table et je ne suis pas sûr de la façon la plus rapide de le faire...
Par exemple, disons que mon tableau est compose des colonnes:
- Terme
- CRN
- Frais
- Niveau Code
Ma table d'archive aurait les mêmes colonnes, mais aussi d'avoir une date d'archivage afin que je puisse voir quelles sont les valeurs de la table en direct dû à une date donnée.
Maintenant... Comment pourrais-je écrire une requête pour s'assurer que les valeurs pour le live de la table sont les mêmes que les entrées les plus récentes dans les archives de la table?
PS je préfère gérer cela en SQL, mais PL/SQL est également une option si c'est plus rapide.
- Qu'est-ce que la clé primaire?
- Il n'existe pas. 🙁
Vous devez vous connecter pour publier un commentaire.
Ce qui est sur en direct, mais pas dans l'historique. Peut puis de l'union à l'inverse de ce pour obtenir ce qui est historique, mais ne le vit pas.
Simplement:
Vous n'avez pas mentionné la façon dont les lignes sont identifiées de manière unique, donc j'ai supposé que vous avez aussi un "id" column:
Remarque: Cette requête ne prend pas les valeurs NULL en compte - si l'une des colonnes sont les valeurs null, vous pouvez ajouter adapté logique (par exemple, NVL chaque colonne à une certaine "impossible" de la valeur).
décharger à la table.unl
select * from table1
commande par 1,2,3,4
décharger à la table2.unl
select * from table2
commande par 1,2,3,4
diff table1.unl table2.unl > diff.unl
Pourrait vous utilisez une requête de la forme:
Tous les résultats seront rangées dans votre table en direct qui ne sont pas dans la plus récente de vos archives.
Si vous avez aussi besoin de lignes dans votre plus récente des archives qui ne sont pas dans votre table en direct, il vous suffit d'inverser l'ordre de la sélectionne, et de répéter, ou de les avoir tous dans la même requête à l'exécution d'une
(live UNION archive) EXCEPT (live INTERSECTION archive)