Hello à tous,
pour des raisons de performance, j'ai besoin d'assembler environ 1 milliers d'enregistrements d'environ 60 caractères en une seule chaîne.
le problème est que les procédures stockées ne peuvent dépasser plus de 32765 caractères en retour.
l'idée est donc d'utiliser un blob en réponse, mais là j'ai un code d'erreur "internal error"
j'ai trouvé des milliers de réponses traitant sur les blobs et les procédures stockées, mais aucune qui me vient en aide.
je sais que le blob n'est qu'une référence dans la table et que cette référence "pointe" d'une manière ou d'une autre dans le fichier de la base de données. il y a donc dans ce cas ci un problème de ressource, puis la variable "blob" ne référence pas un champ, mais devrait représenter le contenu.
pour mieux comprendre la chose, voici un exemple de code:pour obtenir les infos: SELECT LaGrandeReponse FROM GetBlob( 1234 )
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 CREATE PROCEDURE GetBlob( Reference INTEGER ) RETURNS( LaGrandeReponse BLOB ) AS DECLARE VARIABLE INFO Varchar( 50 ); BEGIN LaGrandeReponse = ''; FOR SELECT Info FROM MaTable WHERE Reference = :Reference INTO :INFO DO LaGrandeReponse = LaGrandeReponse || INFO; SUSPEND; END
je me doute que ce code est insuffisant! d'où ma demande d'aide
il y a certainement une histoire de curseur ou autre, mais j'avoue ne jamais avoir utiliser une telle chose![]()
des idées, des suggestions, merci d'avance?
Partager