Bonjour,

Dans le cadre d'un projet, nous essayons d'intégrer ce code PL/SQL dans du PROC:

Code : 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
26
27
declare
   cl_chaine clob;
begin
   dbms_lob.createtemporary(
      lob_loc => cl_chaine, 
      cache   => true, 
      dur     => dbms_lob.session
    );
 
   dbms_lob.open(
      lob_loc    => cl_chaine, 
      open_mode  => dbms_lob.lob_readwrite
   );
 
   dbms_lob.write(
      lob_loc => cl_chaine,
      amount => :host variable 1, -- Longueur du buffer
      offset => 1,
      buffer => :host variable 2  -- Buffer
   ); 
 
   :result := func1(cl_chaine);
 
   dbms_lob.close(lob_loc => cl_chaine);
   dbms_lob.freetemporary(lob_loc => cl_chaine);
 
end;
Pour le moment, nous n'arrivons pas à passer le CLOB en paramètre de la procédure stockée.

Si quelqu'un a une idée, nous sommes preneurs. Merci d'avance.

Pour info, nous avons une solution alternative qui découpe le buffer initial en plusieurs petits buffers afin de les passer en paramètre sous forme d'un VARCHAR.

Cordialement.