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 23/08/2006, 10h54   #1
Membre habitué
 
Inscription : décembre 2005
Messages : 455
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 455
Points : 127
Points : 127
Par défaut Mise à jour de données dans un PL/SQL

Bonjoçur j'ai créée une procédure et l'un des instructions de cette procédure met à jour un champ dans une table.

voici un partie du code:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
IF TOTAL_CDE=0
			 THEN
			 DBMS_OUTPUT.PUT_LINE('OK');
			 DBMS_OUTPUT.PUT_LINE(DOSSIER);
 
			 SELECT ID INTO ID
			 FROM OR
			 WHERE LPAD(ID,15,'0')=DOSSIER;
 
			 DBMS_OUTPUT.PUT_LINE(ID);
 
			   UPDATE OR
			   SET STATUS='15'
			   WHERE OR.ID=ID;
			   COMMIT;
Grâce aux dbms_output je constate que cela fonctionne bien il me rapporte les bonnes données mais pourtant ne met pas ma ligne à jour.
et aucune erreur.
je n'arrive vraiment pas à comprendre.
Est ce que quelqu'un aurait il une idée?
claralavraie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 10h57   #2
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : janvier 2004
Messages : 2 866
Points : 3 448
Points : 3 448
Essaie de renommer ta variable id en v_id. Il y a peut-être confusion entre la colonne et le nom de la variable dans l'update.

Si ce n'est pas cela, que ce passe-t-il si tu exécutes la commande update sous SQL*Plus avec un des id ramené ?
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 11h17   #3
Membre habitué
 
Inscription : décembre 2005
Messages : 455
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 455
Points : 127
Points : 127
j'ai changé de variables, cela n'a pas fonctionnée.
j'ai été sous sql/plus pour faire l'update avec un id retourné.
l'update a fonctionné.
je ne vois pas du tout d'où cela peut venir!
claralavraie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 11h17   #4
Membre Expert
 
Inscription : avril 2005
Messages : 1 672
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 1 672
Points : 1 337
Points : 1 337
OR n'est pas un mot réservé du langage SQL qui introduirait une confusion ici ?
Magnus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 11h19   #5
Membre habitué
 
Inscription : décembre 2005
Messages : 455
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 455
Points : 127
Points : 127
j'ai changé le nom de ma table en ORD.
cela ne fonctionne toujours pas et pourtant je n'ai aucune erreur!
claralavraie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 11h34   #6
Membre habitué
 
Inscription : décembre 2005
Messages : 455
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 455
Points : 127
Points : 127
J'ai mis directement dans ma procédure lid et cela ne fonctionne pas non plus...
pourtant j'ai une date de modification au niveau de ma table ORD et cette date elle change correctement mais pas mon statut.
C'est étrange!
claralavraie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 11h36   #7
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 533
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 533
Points : 6 469
Points : 6 469
SELECT ID into ID, c'est pas terrible...

veillez à utiliser des noms de variable différents des nom de colonne de table.
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 11h39   #8
Membre habitué
 
Inscription : décembre 2005
Messages : 455
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 455
Points : 127
Points : 127
Citation:
Envoyé par SheikYerbouti
SELECT ID into ID, c'est pas terrible...

veillez à utiliser des noms de variable différents des nom de colonne de table.
oui je sais j'ai changé ma variable en V_ID
claralavraie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 11h53   #9
Membre habitué
 
Inscription : décembre 2005
Messages : 455
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 455
Points : 127
Points : 127
j'ai remplacé les variables dans ma procédure directement par les données..
quand je la lance la mise à jour ne se fait pas.
Par contre quand je la lance à part, cela fonctionne pas..
Quelqu'un a t'il deja rencontré ce problème?
claralavraie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 11h57   #10
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : janvier 2004
Messages : 2 866
Points : 3 448
Points : 3 448
N'as tu pas une gestion d'exception dans ton PL ?
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 12h04   #11
Membre habitué
 
Inscription : décembre 2005
Messages : 455
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 455
Points : 127
Points : 127
Citation:
Envoyé par plaineR
N'as tu pas une gestion d'exception dans ton PL ?
Si mais elles n'impactent pas mon update.
claralavraie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 12h05   #12
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
Essayez aussi d'imprimer le nombre de lignes mise à jour par l'update avant le COMMIT avec:

Code :
DBMS_OUTPUT.PUT_LINE('sql%rc=' || SQL%ROWCOUNT);
__________________
P. Forstmann

AskTom Forums OTN doc 8, 9, 10 et 11
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 12h17   #13
Membre habitué
 
Inscription : décembre 2005
Messages : 455
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 455
Points : 127
Points : 127
j'ai un row de mis à jour ...
mais pourquoi alors mon statut ne se met pas à jour???
claralavraie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 12h18   #14
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 533
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 533
Points : 6 469
Points : 6 469
Probablement parce qu'il est mis à jour avec sa valeur courante.
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 12h20   #15
Membre habitué
 
Inscription : décembre 2005
Messages : 455
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 455
Points : 127
Points : 127
Citation:
Envoyé par SheikYerbouti
Probablement parce qu'il est mis à jour avec sa valeur courante.
c'est à dire?
claralavraie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 12h28   #16
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : janvier 2004
Messages : 2 866
Points : 3 448
Points : 3 448
ou parce qu'un trigger ou un job rechange la valeur.
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 13h32   #17
Membre habitué
 
Inscription : décembre 2005
Messages : 455
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 455
Points : 127
Points : 127
comment puis je la voir?
claralavraie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 14h01   #18
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
que la nouvelle valeur est égale à l'ancienne
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 14h07   #19
Membre habitué
 
Inscription : décembre 2005
Messages : 455
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 455
Points : 127
Points : 127
Citation:
Envoyé par Fred_D
que la nouvelle valeur est égale à l'ancienne
mais non justement l'ancienne valeur est à 9 et la nouvelle à 15.
Il y a un truc que je n'arrive vraiment pas à comprendre...
claralavraie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 14h10   #20
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : janvier 2004
Messages : 2 866
Points : 3 448
Points : 3 448
Es-tu sûr que tu n'as pas de jobs ou de triggers qui mettent à jour cette colonne ? (2è fois)
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h56.


 
 
 
 
Partenaires

Hébergement Web