Précédent   Forum des professionnels en informatique > Bases de données > Oracle > PL/SQL
PL/SQL Forum d'entraide sur le PL/SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/08/2008, 21h46   #1
Membre du Club
 
Inscription : mai 2008
Messages : 217
Détails du profil
Informations personnelles :
Localisation : France, Somme (Picardie)

Informations forums :
Inscription : mai 2008
Messages : 217
Points : 40
Points : 40
Envoyer un message via MSN à miketidy
Par défaut Mettre à jour plusieurs données différentes d'une table

Bonjour,

Voilà mon soucis,

j'ai une table avec 4 champ :

code_secteur
mois_ref
libelle
synthese

j'ai des données tous les mois qui sont insérés en base avec le mois_ref qui change.

Chaque mois les données présentes pour le mois_ref-1 sont reconduit pour le mois_ref.

Mon soucis est que le champ synthese n'a pa été pris en compte lors du traitement et que je dois donc mettre à jour les données pour le mois_ref avec les données du mois_ref-1 pour que le champ synthese soit mis à jour.

J'avais une idée comme ceci :

update table a set synthese = (select synthese from table where code_secteur=a.code_secteur ans mois_ref='200806') where mois_ref='200807';

Mais çà ne fonctionne pas...

Pourriez-vous m'aidez svp
miketidy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2008, 04h10   #2
Membre éprouvé
 
Avatar de rvfranck
 
Étudiant
Inscription : novembre 2004
Messages : 739
Détails du profil
Informations personnelles :
Localisation : Canada

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2004
Messages : 739
Points : 494
Points : 494
Salut Miketidy,

J'ai pas trop bien compris ton probleme. N'est ce pas un probleme SQL plutot que PL/SQL? (tu t'es peut etre trompe de forum)

mais c'est quoi le message d'erreur que tu as? dans ta deuxieme requete (celle entre paranthese), que represente le ''a'' dans ''a.code_secteur''?
__________________
"Celui qui reconnaît consciemment ses limites est le plus proche de la perfection." Johann Wolfgang
rvfranck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2008, 05h33   #3
Membre éprouvé
 
Avatar de rvfranck
 
Étudiant
Inscription : novembre 2004
Messages : 739
Détails du profil
Informations personnelles :
Localisation : Canada

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2004
Messages : 739
Points : 494
Points : 494
ok, je crois avoir compris: Tu peux prendre tous les codes secteurs que tu charges dans un curseur et apres tu parcours le curseur (secteur_courant). Pour chaque code-secteur du curseur tu fais un UPDATE
Code :
1
2
3
4
5
6
7
8
9
10
 
UPDATE ta_table
SET synthese = (
 SELECT synthese
 FROM ta_table
 WHERE code_secteur = secteur_courant
 AND mois_ref='200806'
) 
WHERE code_secteur = secteur_courant 
AND mois_ref='200807';
__________________
"Celui qui reconnaît consciemment ses limites est le plus proche de la perfection." Johann Wolfgang
rvfranck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2008, 08h54   #4
Membre du Club
 
Inscription : mai 2008
Messages : 217
Détails du profil
Informations personnelles :
Localisation : France, Somme (Picardie)

Informations forums :
Inscription : mai 2008
Messages : 217
Points : 40
Points : 40
Envoyer un message via MSN à miketidy
C'est bon en fait mon script fonctionne, mon problème est que la requete ne s'arrété pas et le problème venait que j'avais oublié de faire un commit juste avant.

En tout cas merci pour ta réponse
miketidy est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h01.


 
 
 
 
Partenaires

Hébergement Web