Bonjour,

J'essaie de mettre à jour une table sur sql server avec des données qui sont dans des tables sous oracle. Le problème est que lors de l'update, il me mets pas les bons champs dans la table.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
DECLARE
four number;
 
BEGIN
 
for donnee in (SELECT  info.nom_mat,info.CODE_COLB,info.nom_tail,substr(info.nom_mat_remp||'-'||info.CODE_COLB_REMP|| '-' ||m2.LIB_MAT,1,35) as infolibre,compt.num_four,compt.rais_soc
                     FROM zlaf_donnee)
loop
 
     -- Mettre à jour la table QCOMPOST 
    UPDATE QCOMPOST@srvmsbdd01_prd QC SET
           QC.QC_INFOLIBRE1 = donnee.infolibre,
           QC.QC_TIERS = donnee.num_four
     WHERE QC.QC_MATIERE = donnee.nom_mat
      AND  QC.QC_COLORISMAT = donnee.code_colb
      and  (QC.QC_TAILLEMAT = donnee.nom_tail or (QC.QC_TAILLEMAT = null and donnee.nom_tail = null));
 
 
END loop;
--COMMIT;
 
END;
/
Lors de l'exécution de ce code, le champs QC_INFOLIBRE1 est mis à jour avec les données "donnee.nom_tail". Pourtant le code est correct.

Quels sont mes erreurs?

Merci d'avance.