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)
Et là c'est le drame... ORA-06512 ...
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;
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
@++
Partager