[resolved] tOracleOutput Update : recup the line which not updated
Hello,
I would like to update some data in a table. For that, I'm using a tOracleOutput component with the option Update and I check the "Use field option"
(key for update, field can be update) in "Advanced setting".
The schema is Inputfile --> tMap --> tOracleOutput
My job is ok but I would like to have the lines which not be update in the table.
Someone have an idea please ?
Thanks
Quand tu dis que tu veux les lignes qui ne seront pas updatées, tu parles des enregistrements qui n'existent pas encore, c'est à dire des enregistrements qui seront à terme insérés?
Je dois mettre a jour des données d'une table Oracle en fonction d'un fichier source fourni. Je souhaiterai identifier les lignes de mon fichier source qui n'ont pas été mise à jour dans la table (pb de clé donc).
non dsl, je n'ai pas google talk ...
Je ne vois pas vraiment quel probleme tu pourrais avoir sur tes clefs à partir du moment ou les enregistrements existent deja, tes clefs ne bougent donc pas.
Or3l,
A la base, en faisant un tOracleOutput , mes lignes sont mises à jour mais je ne récupère pas les lignes qui n'ont pu être mise à jour.
La j'ai résolu en utilisant le conseil de Walkerca. Pour cela, j?écris d'abord mes lignes dans une table temp Oracle. Ensuite avec un tOracleInput, je fais un left join sur la table source avec mes champs key :
SELECT A.t1, A.t2, A.t3, B.key, B.key2
FROM A
left outer join B
ON A.t1 = B.key and A.t2 = B.key2;
Si key et key2 sont nul, c'est que ma ligne source n'existe pas dans ma table de destination. je peux ensuite, à l'aide d'un tMap ou je test la nullité de ces 2 champs, identifier les lignes qui n'ont pas pu être mise à jour dans ma table.