Bonjour à tous,
Voila, j'ai un magnifique champ LONG dans lequel j'essaye de rechercher une chaine de caractère... Je sais c'est à priori impossible.
J'ai essayé de faire une fonction transformant le LONG en varchar2 (avec pertes) :
et de l'utiliser comme ca :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 create or replace function comm (ind51 in NUMBER) return varchar2 is res varchar2(400) ; begin select commentaire into res from &user_cort.rep_act where P51=ind51 ; return res ; end comm ; /
Je reçois en réponse un
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 update ic_actes set actes_compl = 1 where comm (ic_actes.E51) LIKE '%toto%' ;
J'ai réduit la longueur du varchar2 de la fonction à 1, sans changement...ORA-06502: PL/SQL : erreur numérique ou erreur sur une valeur: tampon de chaîne
de caractères trop petit
Pitié, ne me dites pas que c'est pas possible... (ou je pose ma démission )
Partager