Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2753 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [ORA][PRO STOC] maissss, ou est l'erreur dans la procedure....

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[ORA][PRO STOC] maissss, ou est l'erreur dans la procedure....

n°530779
oups93
tout le monde fait des erreurs
Posté le 03-10-2003 à 22:06:20  profilanswer
 

Z'ai un petit pb avec ma procedure stocké,  
l'idée est :
Table 1, Table 2
prendre les enregistrements de table 2, et  
 inserrer dans table 1 s'il n'existe pas déjà (par rapport à la clef primaire)
 SINON update une valeur de l'enregistement (par rapport à cette même clef)
 
CE que j'ai écrit:
/*************************** début proc ****************/
CREATE OR REPLACE procedure PROC_INS_UPDATE_PB
 (
  )
 IS
  lcount number(8);
 cursor o_cursor is
/************** je prend les valeurs de la table 2 pour comparer avec la clef de Table1 ****************/
 select  tbl2.pky1,
  tbl2.pky2,
  tbl2.pky3,
  tbl2.montant
         from table2 tbl2;
 
  curs_row o_cursor%rowtype;
 
BEGIN
OPEN o_cursor;
LOOP
   fetch o_cursor into curs_row;
/*************** je vérifie l'existance du premier select pa rapport à table1 ***********************/
   select count(*) into lcount
    from table1 tbl1
    where tbl1.pky1 = curs_row.pky1
    AND tbl1.pky2 = curs_row.pky2
    AND tbl1.pky3 = curs_row.pky3;
  if lcount=1 THEN
   UPDATE table1 Set valeur = curs_row.montant;
  ELSE
           INSERT into table1 values (    curs_row.pky1,
      curs_row.pky2,
      curs_row.pky3,
      curs_row.montant);
         COMMIT;
EXIT WHEN o_cursor%NOTFOUND
END LOOP;
CLOSE o_cursor;
END
/
/*************************** fin proc ****************/
Lorsque je l'éxécute, il me dit qu'il il y une erreur dans le script...
Petite précision, c'est ma première Pro stock sur Oracle alors j'ai écrit un peu n'importe quoi.. merci de ne pas taper...
 
Merci d'avance pour vos aides,
 
Oups93

mood
Publicité
Posté le 03-10-2003 à 22:06:20  profilanswer
 

n°531097
El Scorcho
Posté le 04-10-2003 à 12:53:00  profilanswer
 

Il manque un "END IF" après le "INSERT..."

n°531386
oups93
tout le monde fait des erreurs
Posté le 04-10-2003 à 20:12:14  profilanswer
 

ah bon?
le "couple"  
IF.... THEN...
ELSE  
Ne suffit pas?
 

n°531513
El Scorcho
Posté le 04-10-2003 à 23:11:11  profilanswer
 

Bin non ça suffit pas. Je connais pas de langage où ça suffise d'ailleurs. Ca permet de délimiter les instructions "faisant partie" du else des autres.

n°531671
oups93
tout le monde fait des erreurs
Posté le 05-10-2003 à 08:26:38  profilanswer
 

Ok, je vais tester demain,
 
merci pour ton aide,
 
Oups93

n°532343
oups93
tout le monde fait des erreurs
Posté le 06-10-2003 à 12:05:15  profilanswer
 

ça marche po... :(


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [ORA][PRO STOC] maissss, ou est l'erreur dans la procedure....

 

Sujets relatifs
Erreur ClassNotFoundExceptionerreur 404
procedure puissance a l'aideEasy PHP fonctionne t-il bien sous Windows XP Pro ?
Code de correction d'erreur[java]erreur lors de compilation sous Visual Studio.net
[Erreur ODBC] Etat du curseur non valideMySQL erreur de syntaxe
Désactiver une erreur dans un script en VBSErreur de compilation... [RESOLU]
Plus de sujets relatifs à : [ORA][PRO STOC] maissss, ou est l'erreur dans la procedure....


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR