Bonjour à tous.
Je me permets de vous quémander votre aide pour un problème que me pose une partie de mon projet.
Le sujet est pourtant "simple", je dois réaliser une "méthode" dont voici les composantes :
- En entrée de ma "méthode" j'ai un nom de table et deux identifiants de cette table (IdOld, IdNew).
- En sortie de ma "méthode" j'ai une liste de triplé "Nom champ - Ancienne valeur - Nouvelle valeur".
Comme vous l'aurez peut être deviné, cette "méthode" doit trouver les champs qui ont une valeur différente entre les deux records pour me les renvoyer en sortie. (donc sortie null si tout est identique).
Je ne connais pas d'avance les tables parcourues de cette manière et donc les champs à visiter (le nom de la table à traiter est passé en paramètre).
La seule chose que je sais, c'est que chaque table possède une colonne ID qui me permet de récupérer mes deux records selon les identifiants en paramètres.
Alors voilà, en Java, je sais faire tout ça par le biais de la réflexion, mais c'est couteux en ressource et pas très joli pour ce cas là ... Je voulais donc tout simplement savoir s'il n'y aurait pas une solution pour réaliser le même traitement mais en PL/SQL ?
Je ne connais malheureusement que très peu PL/SQL, j'ai trouvé des possibilités de récupérer les noms de colonne, j'ai pu trouver des notions de Dynamic SQL, etc, mais je n'arrive pas à coller tout ces bouts pour savoir si ma "méthode" est réellement faisable en PL/SQL et cela de manière simple et efficace ??
Je vous remercie beaucoup d'avance de votre aide !
Partager