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
Le problème c’est qu’il me fait une boucle infinie. Auriez-vous une solution ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
Merci d’avance pour votre aide
Partager