Bonjour,
ce sujet est longuement traité dans les exemples trouvés en recherchant "Singleton" pourtant je ne trouve pas la solution pour le problème que j''expose ci-dessous.
Soit une table
qui sert de référence
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 CREATE TABLE TR_GRADE_GRD ( GRD_ID D_ID NOT NULL /* D_ID = INTEGER */, GRD_DESC D_GRADE NOT NULL /* D_GRADE = VARCHAR(32) */, GRD_NDX D_ENT_COURT /* D_ENT_COURT = SMALLINT */
et une autre table, qui contient les données de l'utilisateur
Les index "GRA_NDX" et "GRD_NDX" sont identiques.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 CREATE TABLE T_GRADE_GRA ( GRA_IND_ID D_ID NOT NULL /* D_ID = INTEGER */, GRA_NOM D_GRADE NOT NULL /* D_GRADE = VARCHAR(32) */, GRA_SECTION D_SECTION NOT NULL /* D_SECTION = VARCHAR(32) */, GRA_DATE D_DATE /* D_DATE = DATE */, GRA_NDX D_ENT_COURT /* D_ENT_COURT = SMALLINT */
Si l'utilisateur modifie dans la table de référence, l'intitulé des grades à savoir "GRD_DESC" je souhaiterais pouvoir modifier automatiquement "GRA_NOM" qui lui correspond.
Or le code ci-dessous ne peut remplir ce rôle, puisqu'il renvoie plusieurs lignes
Il faudrait parcourir la table t_grade_gra ...pour la mettre à jour éventuellement...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 update t_grade_gra gra set gra.gra_nom = (select grd_desc from tr_grade_grd where gra.gra_ndx=grd_ndx)
Voilà...j'ai besoin de vos lumières
Merci,
Lucien
Partager