ORA-01403: Aucune donnée trouvée [PL/SQL] - SQL/NoSQL - Programmation
Marsh Posté le 15-08-2010 à 08:57:50
Salut Marty,
si tu n'as pas encore résolu ton problème.
Plusieurs remarques :
Après avoir modifié ta clause where (1ère remarque). Utilise plutôt une boucle FOR de type curseur.
LOOP
UPDATE p_ctc SET p_ctc.dpmtincde = (SELECT r_dpmt.dpmtincde FROM r_dpmt WHERE r_dpmt.dpmtexcde = SubStr(c_maj_code_dpt.codcol,3,3)||'-'||lc_maj_code_dpt.entorg) WHERE p_ctc.ctcexcde = c_maj_code_dpt.ctcexcde
-- Attention dans ton curseur à bien enlever les préfixes de tables et renommer les colonnes identiques.
END LOOP;
Voilà. Bon courage
Marsh Posté le 09-08-2010 à 13:39:22
Bonjour à tous, je dois mettre à jour le code interne d'une personne, ce code renvoie à un service travaillé.
Par exemple une personne X a comme code interne 1199
1199 renvoie au service Secrétariat par exemple.
Dans mon Pl/Sql j'utilise cette requête pour identifier toutes les personnes que je dois mettre à jour :
Cette requête me renvoie bien plus de 5000 enregistrements dont voici une poignée :
Ici on se rend bien compte que la colone dpmtincde (code du service) n'est pas à jour car la colonne DPMTEXCDE doit ressembler à la colonne ENTORG à peu de chose car la colonne DPMTEXCDE mixe CODCOL + ENTORG ce qui doit donner pour la première ligne par exemple :
Voici mon Pl/Sql au complet :
A l'exécution de mon Pl/Sql j'ai une erreur :
J'ai cherché un peu, il faut traiter l'exception, c'est à cause du select into, mais je ne sais pas comment la traiter. Merci pour votre aide.
Message édité par MaRTy59 le 09-08-2010 à 13:39:46