Pb insert en PL/SQL

Signaler
Messages postés
78
Date d'inscription
vendredi 23 mars 2007
Statut
Membre
Dernière intervention
21 juin 2010
-
Messages postés
3
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
21 décembre 2009
-
Bonjour,


Voila j'ai réaliser la requete suivante en pl/Sql le pb c'est que l'insertion ne se fait pas... Quelqu'un a une idée ?


Merci...


Requete :


DECLARE
CURSOR RowsToInsert IS
    SELECT distinct etape, rp.famille, substr(RC.blabla,6,2)  from recette RC, Produit rp
    WHERE RC.nom = rp.nom
    AND rp.famille like 'Gateau%'
    AND substr(rc.blabla,7,1) NOT IN ('U', 'J')
      ;
      sSql VARCHAR2(4000);
     
BEGIN
 
        FOR cur IN RowsToInsert LOOP
          BEGIN
                      sSql := 'INSERT INTO ETAPE_REF_TABLE ( etape, famille, cuisson, eqt, degres) ';
                      sSql := sSql || 'VALUES (' || cur.etape || ',' || cur.famille || ', NULL, NULL, NULL ) ' ;                      sSql :sSql || 'WHERE NOT EXISTS (SELECT 1 FROM ETAPE_REF_TABLE WHERE etape ''' || cur.etape''' );' ;
                      DBMS_OUTPUT.Put_Line('Requête a exécuter : ' || sSql);
                      ExecSQL (sSql);
                      ssql :='';
          END; 
        END LOOP;
       


END;

2 réponses

Messages postés
78
Date d'inscription
vendredi 23 mars 2007
Statut
Membre
Dernière intervention
21 juin 2010
1
Je continue sur la lancée : En gros cela reviendrait a faire ca
INSERT INTO ETAPE_REF_TABLE

(ETAPE,FAMILLE,Cuisson,eqt,degres)

VALUES ('Casse Oeuf,'gateau',NULL,NULL,NULL) WHERE NOT EXISTS ( SELECT 1 FROM ETAPE_REF_TABLE WHERE STAGE='Casse Oeuf'

);

Il me dit que la commande ne s'est pas terminée correctement. Je vois pas trop le problème sachant que je veux insérer dans cette table cet élément si il n'existe pas...

Quelqu'un pour m'aider ?? ^^
Messages postés
3
Date d'inscription
mercredi 25 juin 2008
Statut
Membre
Dernière intervention
21 décembre 2009

amoureux des TIC