Problème SQL dans une base Oracle
Bonjour à tous,
J’ai une question concernant une requête sql dans une base Oracle.
J’ai une table
PRODUIT EXEMPLAIRE
__A________001
__A________002
__A________003
PRODUIT PERSONNE DEPART ARRIVE EXEMPLAIRE
___A______NULL___1117___1120____NULL
___A______NULL___1117___1120____NULL
___A______NULL___1120___1110____NULL
___A______NULL___1120___1110____NULL
___A______PERS1__1110___NULL____001
Un produit a plusieurs exemplaires. Un exemplaire est destiné a une personne. Je connais l’exemplaire (001) qui est destiné à la personne (PERS1). Je sais également qui a donné à cette personne (1110). Il y a plusieurs étapes de passation et mon objectif est de tracer le chemin parcouru par l'exemplair du produit.
J’ai pensé à faire la requête suivant
Code:
1 2 3 4 5 6 7 8 9
|
UPDATE Transfert a SET a.Exemplaire =
(SELECT DISTINCT b.Exemplaire
FROM Transfert b
WHERE a.Produit = b.Produit
AND a.Arrive = b.Depart
AND b.Exemplaire IS NOT NULL
AND ROWNUM = 1)
WHERE a.Exemplaire IS NULL; |
Le problème c’est qu’il me fait une boucle infinie. Auriez-vous une solution ?
Merci d’avance pour votre aide