Précédent   Forum des professionnels en informatique > Bases de données > Oracle > PL/SQL
PL/SQL Forum d'entraide sur le PL/SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/09/2008, 11h20   #1
Membre régulier
 
Inscription : juillet 2004
Messages : 393
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 393
Points : 80
Points : 80
Par défaut Concat sur variable limité

Bonjour à tous,

avant de vous exposer mon problème, je vais vous expliquer ce que je souhaite faire pour savoir s'il y a une alternative.

J'ai créer une fonction dans laquelle j'ai en argument1 le nom d'une table et en 2 un identifiant unique, cette fonction doit me renvoyer le MD5 de la concaténation de toutes les colonnes de l'identifiant de la table.

Pour revenir à mon problème, il semblerait qu'une variable ne supporte pas plus de 2000 caractères en concaténation...

Comment puis-je m'y prendre ?

Merci de votre aide.
__________________
www.ou-dejeuner.com A chacun son déjeuner ! |Blackprism.org
shadeoner est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2008, 11h37   #2
Membre émérite
 
Inscription : août 2008
Messages : 835
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 835
Points : 823
Points : 823
Salut,

Je n'ai jamais entendu parler de telles limites. Ceci dit je ne prétends pas connaitre parfaitement Oracle.
J'ai fait un test rapide, sous Oracle 9.2, ceci fonctionne :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
SET serveroutput ON
 
declare 
 
		test varchar2(10001);
		app varchar2(20002);
 
begin
 
test := 'a';
app := 'a';
 
FOR i IN 1..10000
loop
	 test := test || app;
end loop;
 
app:= test || test;
 
dbms_output.put_line(length(app));
 
end;
/
Snipah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2008, 14h27   #3
Membre régulier
 
Inscription : juillet 2004
Messages : 393
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 393
Points : 80
Points : 80
Oui ton test marche bien, je comprends pas ce que j'ai comme problème alors...

En gros je remplis un tableau, si je boucle dessus en faisant un put_line j'ai bien toutes les informations renvoyées, par contre si je concatène toutes les données dans une variable ça ne fonctionne pas, enfin ça ne renvoi pas d'erreur mais ma variable est au 1/3 rempli avec les premières données, et la dernière données est coupée.
__________________
www.ou-dejeuner.com A chacun son déjeuner ! |Blackprism.org
shadeoner est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2008, 14h28   #4
Expert Confirmé Sénior
 
Avatar de mnitu
 
Homme Marius Nitu
Ingénieur développement logiciels
Inscription : octobre 2007
Messages : 3 320
Détails du profil
Informations personnelles :
Nom : Homme Marius Nitu
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 3 320
Points : 5 839
Points : 5 839
En Sql il y a une limite de 4000 Bytes (ce qui peut signifier par fois 2000 caractères)
Citation:
VARCHAR2 Datatype
The VARCHAR2 datatype specifies a variable-length character string. When you create a VARCHAR2 column, you supply the maximum number of bytes or characters of data that it can hold. Oracle subsequently stores each value in the column exactly as you specify it, provided the value does not exceed the column's maximum length of the column. If you try to insert a value that exceeds the specified length, then Oracle returns an error.

You must specify a maximum length for a VARCHAR2 column. This maximum must be at least 1 byte, although the actual string stored is permitted to be a zero-length string (''). You can use the CHAR qualifier, for example VARCHAR2(10 CHAR), to give the maximum length in characters instead of bytes. A character is technically a code point of the database character set. CHAR and BYTE qualifiers override the setting of the NLS_LENGTH_SEMANTICS parameter, which has a default of bytes. For performance reasons, Oracle recommends that you use the NLS_LENGTH_SEMANTICS parameter to set length semantics and that you use the BYTE and CHAR qualifiers only when necessary to override the parameter. The maximum length of VARCHAR2 data is 4000 bytes. Oracle compares VARCHAR2 values using nonpadded comparison semantics.

To ensure proper data conversion between databases with different character sets, you must ensure that VARCHAR2 data consists of well-formed strings. See Oracle Database Globalization Support Guide for more information on character set support.
En PL/SQL :

Citation:
VARCHAR2 Datatype
You use the VARCHAR2 datatype to store variable-length character data. How the data is represented internally depends on the database character set. The VARCHAR2 datatype takes a required parameter that specifies a maximum size up to 32767 bytes. The syntax follows:
mnitu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2008, 14h36   #5
Membre régulier
 
Inscription : juillet 2004
Messages : 393
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 393
Points : 80
Points : 80
En continuant mes tests, j'ai effacé 3 lettres d'un mot du début de mon tableau, et j'ai eu le droit à 3 lettres de + à la fin dans ma variable
ça montre bien que la variable est limitée
__________________
www.ou-dejeuner.com A chacun son déjeuner ! |Blackprism.org
shadeoner est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2008, 15h10   #6
Membre émérite
 
Inscription : août 2008
Messages : 835
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 835
Points : 823
Points : 823
Pourrait-on voir ton script stp?
Snipah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2008, 15h18   #7
Membre régulier
 
Inscription : juillet 2004
Messages : 393
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 393
Points : 80
Points : 80
Oui je crois que ça ira plus vite (attention c'est long pour la déclaration du tableau) :

Code :
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
CREATE OR REPLACE FUNCTION FC_CALCUL_MD5(v_table IN VARCHAR2, v_id IN VARCHAR2) RETURN VARCHAR2 IS
  resultat CHAR(32);
  chaine_control varchar2(32767);
  select_list varchar2(32767);
  sql_str varchar2(32767);
  TYPE t_array IS TABLE OF VARCHAR2(100);
  r_col_annonce t_array:=t_array();
  r_col_description t_array:=t_array();
  r_col_image t_array:=t_array();
 
begin
 
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_ANNONCE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_PRESTO';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_AGENCE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_REMONTEE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_SOCIETE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_PORTAIL';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_PROGRAMME';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='REF_AGENCE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='REF_ANNONCE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='NUM_MANDAT';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='NOM_AGENCE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ADRESSE_AGENCE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='VILLE_AGENCE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='CODE_POSTAL_AGENCE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='TEL_AGENCE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='TEL2_AGENCE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='FAX_AGENCE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='SITEWEB_AGENCE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='NOM_PAYS_AGENCE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='REF_PAYS_AGENCE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_VISITE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='NOM_VISITE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='URL_VISITE_BIEN';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_TYPE_BIEN';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_TYPE_BIEN_PRESTO';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_TYPE_TRANSACTION';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_EXCLUSIVITE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='NOMBRE_PIECE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='NOMBRE_CHAMBRE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='SURFACE_HABITABLE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='SURFACE_SEJOUR';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='JARDIN';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ETAGE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='NOMBRE_ETAGE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ASCENSEUR';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='BALCON';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='TERRASSE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_TYPE_ANCIENNETE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='NOMBRE_PARKING_INTERIEUR';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='NOMBRE_PARKING_EXTERIEUR';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='NOMBRE_GARAGE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='NOMBRE_CAVE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='NOMBRE_WC';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='NOMBRE_SALLE_BAIN';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='NOMBRE_SALLE_EAU';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID__CUISINE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_TYPE_CHAUFFAGE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='PRIX_BIEN';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='CHARGES_BIEN';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='HONORAIRES_BIEN';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='TAXES_BIEN';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='TRAVAUX_BIEN';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='REF_DEVISE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='REF_LANGUE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ADRESSE_BIEN';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='VILLE_BIEN';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='CODE_POSTAL_BIEN';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='CODE_INSEE_BIEN';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='NOM_PAYS_BIEN';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='REF_PAYS_BIEN';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='LATITUDE_BIEN';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='LONGITUDE_BIEN';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_LOCALISATION';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_VERROU';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_ARCHIVE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_TYPE_IMPORT';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='OPTION_IMPORT';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_DIFFUSION_WEB';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_DIFFUSION_PRINT';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='to_char(DATE_ANNONCE_DEBUT,''YYYY-MM-DD HH24:MI:SS'')';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='to_char(DATE_ANNONCE_FIN,''YYYY-MM-DD HH24:MI:SS'')';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='NOM_LOGICIEL_IMPORT';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_LOGICIEL_IMPORT';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_STATUT_ANNONCE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='CODE_SMS';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='REF_ORIENTATION';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='NOMBRE_PISCINE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='NOMBRE_TENNIS';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='NOMBRE_GARDIEN';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='to_char(DATE_DISPONIBILITE,''YYYY-MM-DD HH24:MI:SS'')';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='NOM_NEGOCIATEUR';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='TEL_NEGOCIATEUR';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='EMAIL_NEGOCIATEUR';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_RECENT';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_REFAIT';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_TRAVAUX';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_TYPE_SITUATION';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_COUPDECOEUR';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_INTERPHONE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_CLIMATISATION';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_CABLETV';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_DUPLEX';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_MEUBLE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_TRAVAUX';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_INVESTISSEMENT';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_NEUF';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_LUXE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_SAISONNIER';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_COLOCATION';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='COHERENCE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='REF_SAISIE_CREATION';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='REF_SAISIE_MODIFICATION';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='DEPARTEMENT_BIEN';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_PHOTO';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='CATEGORIE_PRIX';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='URL_PREVISITE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ZOOM_BIEN';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_IMPORT';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_LOCALITE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_TPT';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='RCS';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='RCS_VILLE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='FORME_JURIDIQUE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='SIRET';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='NUMERO_CARTE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='DELIVRANCE_CARTE_PRO';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='REF_ANNONCE_PERSO';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_DIFFUSION_LUX';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_DIFFUSION_WAP';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='LOGICODE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='LOGICODE_OLD';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='NOMBRE_LOT';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='DEPOT_GARANTIE';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='STATUS_VIDEO';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='IS_PREMIUM';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='PLI_ID';
r_col_annonce.EXTEND;
r_col_annonce(r_col_annonce.LAST):='ID_DIFFUSION_LUX';
 
FOR i IN 1..r_col_annonce.count loop
 
    select_list := select_list || ' 
    '||r_col_annonce(i);
 
    DBMS_OUTPUT.put_line(i ||' 
    ' || r_col_annonce(i) );
 
END LOOP;
 
DBMS_OUTPUT.put_line(select_list);
 
RETURN '';
 
 EXCEPTION
   WHEN OTHERS THEN
      raise_application_error(-20001,'An error was encountered - '||SQLCODE||' -ERROR- '||SQLERRM);
 
 
end FC_CALCUL_MD5;
(ne pas faire attention aux variables déclarées et qui ne servent pas...)
__________________
www.ou-dejeuner.com A chacun son déjeuner ! |Blackprism.org
shadeoner est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2008, 15h59   #8
Expert Confirmé Sénior
 
Avatar de mnitu
 
Homme Marius Nitu
Ingénieur développement logiciels
Inscription : octobre 2007
Messages : 3 320
Détails du profil
Informations personnelles :
Nom : Homme Marius Nitu
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 3 320
Points : 5 839
Points : 5 839
Et c'est quoi précisément ton problème dans cette fonction ?
mnitu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2008, 16h02   #9
Membre régulier
 
Inscription : juillet 2004
Messages : 393
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 393
Points : 80
Points : 80
le :

Code :
DBMS_OUTPUT.put_line(select_list);

me renvoit une liste incomplète, il s'arrête aux environs du 30ème mot (qui est coupé en deux)
__________________
www.ou-dejeuner.com A chacun son déjeuner ! |Blackprism.org
shadeoner est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2008, 16h14   #10
Membre émérite
 
Inscription : août 2008
Messages : 835
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 835
Points : 823
Points : 823
C'est donc ton dbms_output.put_line qui n'affiche pas la totalité de la variable.
La variable est à priori bien complète.
Snipah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2008, 16h26   #11
Expert Confirmé
 
Avatar de 7gyY9w1ZY6ySRgPeaefZ
 
Homme
dba
Inscription : juillet 2007
Messages : 2 523
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : dba

Informations forums :
Inscription : juillet 2007
Messages : 2 523
Points : 3 975
Points : 3 975
Citation:
Envoyé par shadeoner Voir le message
le :

Code :
DBMS_OUTPUT.put_line(select_list);

me renvoit une liste incomplète, il s'arrête aux environs du 30ème mot (qui est coupé en deux)
Voici ce que l'on lit dans le descriptif du package DBMS_OUTPUT :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  procedure enable (buffer_size in integer default 20000);
  pragma restrict_references(enable,WNDS,RNDS);
  --  Enable calls to put, put_line, new_line, get_line and get_lines.
  --    Calls to these procedures are noops if the package has
  --    not been enabled.  Set default amount of information to buffer.
  --    Cleanup data buffered from any dead sessions.  Multiple calls to
  --    enable are allowed.
  --  Input parameters:
  --    buffer_size
  --      Amount of information, in bytes, to buffer.  Varchar2, number and
  --      date items are stored in their internal representation.  The
  --      information is stored in the SGA. An error is raised if the
  --      buffer size is exceeded.  If there are multiple calls to enable,
  --      then the buffer_size is generally the largest of the values
  --      specified, and will always be >= than the smallest value
  --      specified.  Currently a more accurate determination is not
  --      possible.  The maximum size is 1,000,000, the minimum is 2000.
7gyY9w1ZY6ySRgPeaefZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2008, 16h44   #12
Membre régulier
 
Inscription : juillet 2004
Messages : 393
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 393
Points : 80
Points : 80
Je crois que tu as raison.. j'ai fais un length et c'est vrai qu'il est plutôt pas mal....

merci de ton aide
__________________
www.ou-dejeuner.com A chacun son déjeuner ! |Blackprism.org
shadeoner est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/09/2008, 05h10   #13
Membre éprouvé
 
Avatar de rvfranck
 
Étudiant
Inscription : novembre 2004
Messages : 739
Détails du profil
Informations personnelles :
Localisation : Canada

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2004
Messages : 739
Points : 494
Points : 494
Shadeoner, c'est résolu ou pas?
__________________
"Celui qui reconnaît consciemment ses limites est le plus proche de la perfection." Johann Wolfgang
rvfranck est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h25.


 
 
 
 
Partenaires

Hébergement Web