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 :
La procédure stoquée ExecSQL (s as string) fonctionne très bien car d'autre personnes s'en servent.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 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;
En gros ma requete revient a faire ceci :
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...Code:
1
2
3
4
5
6
7 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' );
Si quelqu'un peut m'aider dans mon avancé merci d'avance...