Bonjour,

J'essai en vain de trouver une façon d'appeler une fonction en lui passant plus de 4000 bytes.

Ma fonction est, on ne peux plus simple.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
create or replace function fctSimple(v_lob clob) return clob is
     Result clob;
begin
  Result := 'toto';
  return(Result);
 
end fctSimple;
et mon appel, tout aussi simple.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
Declare
   v_tmp varchar2(2000);
Begin
 
   v_tmp := fctSimple('** CHAINE D'UNE LONGUEUR DE 4200 bytes **');
End;
Et j'ai droit à cet erreur : ORA-01704 : constante de chaîne trop longue.

Si je met 3999 byte, sa passe.

J'ai essayer avec clob, long, blob.... À chaque fois la même erreur ORA.

Ma question est fort simple ( ou pas ) :
Existe-il une façon d'appeler une fonction Oracle en lui passant comme paramètre une chaine de plus de 4000 caractères.

En vous remerciant !