Bonsoir à tous,

en désespoir de cause je fais appel à la communauté car je n'arrive pas à faire fonctionner ma procédure stockée sous oracle.
Celle-ci sert à l'insertion de ligne dans une table.
j'ai dans mon module de données un TStoredProc qui a en paramètre configuré mes trois params en ftString ftInput size 4000 Value type String.

Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
CREATE OR REPLACE PROCEDURE PST_PrsTitGnr 
-- numéro de(s) la presentation(s), numéro du (des)titre(s), numéro du(des) genre'(s)
(  pstid   IN   VARCHAR2,  titid   IN   VARCHAR2,  gnrid   IN   VARCHAR2)
IS BEGIN
   INSERT INTO PrsTitGnr  (PST_ID, TIT_ID, GNR_ID)
      (SELECT presentations.pst_id, titres.tit_id, genres.gnr_id
         FROM (SELECT PST_ID
                 FROM prstit
                WHERE TIT_ID IN (titid)
                  AND PST_ID IN (pstid)
                  AND PST_ID NOT IN (
                         SELECT pst_id
                           FROM PrsTitGnr
                          WHERE TIT_ID IN (titid)
                            AND GNR_ID IN (gnrid)
                            AND PST_ID IN (pstid))) presentations,
              (SELECT TIT_ID
                 FROM titre
                WHERE TIT_ID IN (titid)) titres,
              (SELECT GNR_ID
                 FROM genre
                WHERE GNR_ID IN (gnrid)) genres);
END PST_PrsTitGnr ;
/

Ensuite j'execute le code suivant : (sachant que Présentation Titre et Genre se présente sous une forme de chaine contenant des chiffre ex : ' 101,102, 1023' j'ai essayé aussi avec ceci ''101','102','103'' et ''''101''','''102''','''103'''' doublement et triplement des cotes)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
         PST_ADDASSDEF.Prepare;
         PST_ADDASSDEF.ParamByName('pstid').AsString := Presentations;
         PST_ADDASSDEF.ParamByName('titid').AsString := Titres;
         PST_ADDASSDEF.ParamByName('gnrid').AsString := Genres;
         PST_ADDASSDEF.ExecProc;
Et là c'est le drame... ORA-06512 ...
Si quelqu'un à une petite idée ou sait comment qu'on fait pour executer les procedure stockée qui ne ramène pas de résultat, je serais heureux.

Merci d'avance

@++