You can't specify target table 'T_RESEAU' for update in FROM clause
Bonjour!
J'ai un table T_RESEAU qui liste des réseaux. Ces réseaux ont 3 champs: ID(pk), intitule, indice.
Un réseau peut être monté de version, auquel cas, un réseau de même intitule et d'indice supérieur sera créé:
Ex: FH-Paris d'indice 0 sera le père du FH-Paris d'indice 1
Il y a dans la base de donnée une contrainte d'unicité sur le couple (nom, indice).
Pour une raison d'évolution (intitule du fils changé par l'utilisateur = lien de paternité perdu) j'ai créé une relation père-fils entre les réseau: foreign key parent_id dans la table T_RESEAU par défaut nulle.
J'aimerais maintenant mettre à jour cette colonne en insérant aux réseaux fils l'id de leur réseau père.
J'ai écrit la fonction sql suivante:
Code:
1 2 3
| UPDATE T_RESEAU
SET T_RESEAU.RES_PARENT = (SELECT T_RESEAU1.RES_ID_N FROM T_RESEAU T_RESEAU1 WHERE T_RESEAU1.RES_INDICE_N=0 AND T_RESEAU1.RES_INTITULE_C = T_RESEAU.RES_INTITULE_C)
WHERE T_RESEAU.RES_INDICE_N=1 |
(Je pensais mettre à jour les réseaux d'indice 1 avec les réseaux d'indice 0 ensuite les réseaux d'indice 2 avec les réseaux d'indice 1)
Mais je rencontre une erreur sql! :
Citation:
You can't specify target table 'T_RESEAU' for update in FROM clause
Qu'en pensez vous svp?!