Bonjour ,
je n'ai aucune connaissance en PL/SQL mais là je suis obligé de passer par là....
j'ai deux tables
ma premiere TMP_FILTRE_ABONNE2 a
ma deuxième IC160 b dont voici une partie des champs
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
24
25 NUMABO NUMBER(10), MODE_EXPEDITION VARCHAR2 (32 BYTE), EDITION CHAR(3 BYTE), CODSOC CHAR(2 BYTE), CODTIT CHAR(2 BYTE), NUMERO_CONTRAT NUMBER(10), DATE_DEBUT_CONTRAT DATE, ANNEE_DEBUT_CONTRAT CHAR(4 BYTE), NB_JOURS_ANC_1ER_CONTRAT NUMBER(10), TYPE_CONTRAT VARCHAR2(32 BYTE), CONTRAT VARCHAR2(32 BYTE) , CODE_CONTRAT CHAR(3 BYTE), LIBELLE_OPTION VARCHAR2(32 BYTE), MOTIF_FIN_CONTRAT VARCHAR2(32 BYTE), DATE_FIN_DISTRIB_ECHU DATE, MOIS_ANNULATION VARCHAR2(32 BYTE), FIN_DISTRIBUTION VARCHAR2(32 BYTE), MODE_EXPEDITION_ANT VARCHAR2 (32 BYTE), CONTRAT_ANT VARCHAR2(32 BYTE), CODE_CONTRAT_ANT CHAR(3BYTE), OPTION_OFF_ANT NUMBER(5), LIBELLE_OPTION_ANT VARCHAR2(32 BYTE), NB_JOURS_CTR_ANT_ANN_NEW_CTR NUMBER(10), MOTIF_FIN_CONTRAT_ANT VARCHAR2(32 BYTE), MOIS_ANNULATION_CTR_ANN VARCHAR(32 BYTE)
je dois UPDATER LIBELLE_OPTION_ANT par LIBOPT en sachant que a.CODSOC=b.CODSOC AND a.CODTIT=b.CODTIT AND a.CODE_CONTRAT_ANT=b.CODOFF AND a.OPTION_OFF_ANT =b.OPT
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 CODSOC CHAR(2 BYTE) NOT NULL, CODTIT CHAR(2 BYTE) NOT NULL, CODOFF CHAR(3 BYTE) NOT NULL, OPT NUMBER(5) NOT NULL, LIBOPT VARCHAR2(32 BYTE),
le problème c'est que dans ma table a j'ai plusieurs fois les clés CODSOC,CODTIT,CODE_CONTRAT,OPTION_OFF_ANT car ce ne sont pas des clefs ma seule façon serait de faire une boucle pour récupérer le NUMABO qui est une clé unique avec CODTIT et CODSOC aller chercher ma LIBOPT pour faire un UPDATE dans LA LIGNE CORRESPONDANTE NUMABO,CODSOC,CODTIT
comment faire ça en pl/sql si quelqu'un peut m'aider
Partager