Bonjour,

Je dispose d'une table AUDIT reprenant pour toutes les transactions d'insert/update une trace si l'opération est un succès.

La table AUDIT est composée des champs suivants :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
-	TABLE : table impactée par la transaction
-	TYPE TRANSACTION : opération insert, update (et delete à terme)
-	DATE TRANSACTION : date de l’opération
-	CLEPRIM1 : nom de la clé primaire 1  
-	CLEPRIM2 : nom de la clé primaire 2 (null allowed)
-	CLEPRIM3 : nom de la clé primaire 3 (null allowed)
-	CLEPRIM4  : nom de la clé primaire 4(null allowed)
-	CLEPRIM5 : nom de la clé primaire 5(null allowed)
-	CLEPRIM6 : nom de la clé primaire 6(null allowed)
-	CLEPRIM7 : nom de la clé primaire 7(null allowed)
-	VAL1 : valeur de la clé primaire 1
-	VAL2 : valeur de la clé primaire 2(null allowed)
-	VAL3 : valeur de la clé primaire 3(null allowed)
-	VAL4 : valeur de la clé primaire 4(null allowed)
-	VAL5 : valeur de la clé primaire 5(null allowed)
-	VAL6 : valeur de la clé primaire 6(null allowed)
-	VAL7 : valeur de la clé primaire 7(null allowed)
Mon objectif serait de créer une procédure stockée avec en paramètre IN, le nom d'une table (table X) et le type de transaction (update).

Dans ce cas, je souhaite que la procédure renvoie grâce aux valeurs de la table AUDIT le résultat du query suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
SELECT * FROM X where CLEPRIM1&CLEPRIM2 in (....)
Étant novice sous Oracle, je voulais vous demander si vous pouviez m'aider à coder la partie de procédure qui construirait le SQL présenté ci-dessus en fonction des valeurs de la table AUDIT

N'hésitez pas à critiquer si vous voyez d'autres solutions permettant de réaliser le même type de travail.


D'avance, je vous remercie pour toutes réponses éventuelles.