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:
(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)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Mais je rencontre une erreur sql! :
Qu'en pensez vous svp?!You can't specify target table 'T_RESEAU' for update in FROM clause
Partager