Bonjour

Base de Donnees Oracle 9.2.0.1
Serveur Unix Solaris
Lors de l'execution de cette procedure en fonction de la taille de la ligne inseree dans le fichier je n'obtiens pas le meme resultat.

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
DECLARE
	   nomfic  	VARCHAR2(80);
	   v_file	VARCHAR2(80);
	   v_rev	VARCHAR2(5);
	   v_stat	VARCHAR2(10);
	   stat	VARCHAR2(10);	
	   prem	VARCHAR2(5);
	   i	INTEGER := 0;
	   v_fic	UTL_FILE.FILE_TYPE;
 
 
 
   CURSOR file
   IS
     SELECT distinct dm_file_name, dm_file_rev, dm_file_status_cd
     FROM pdmdm.dm_file_directory
	 WHERE dm_file_owner_id like '%A400MFE%' AND (dm_file_version = '0' AND NOT dm_file_system_cd like '%D%')
     ORDER BY dm_file_name,dm_file_rev ASC;
BEGIN
	OPEN file;
	v_fic := UTL_FILE.FOPEN('UTL_FILE_TMP','migcatiader','W',[color=red]99[/color]);	
	FETCH file INTO v_file,v_rev,v_stat;
 
LOOP
        nomfic := v_file;
        LOOP
            i := i + 1;
            prem := v_rev;
			stat := v_stat;
            FETCH file INTO v_file,v_rev,v_stat;
            exit when nomfic != v_file or file%notfound;
        END LOOP;
        IF (i) = 1 THEN
            UTL_FILE.put_line(v_fic,nomfic || ';' || prem || ';' || stat);
            i := 0;
        END IF;
        IF i = 2 THEN
            UTL_FILE.put_line(v_fic,nomfic || ';' || prem || ';' || stat);
            i := 0;
        END IF;
        IF i >= 3 THEN
            UTL_FILE.put_line(v_fic,nomfic || ';' || prem || ';' || stat);
           	i := 0;
        END IF;
        exit when file%notfound;
END LOOP;
CLOSE file;
END;
Est ce qu'un fichier UTL est limite en taille ( nombre de lignes dans le fichier) ?
Est ce que la taille de la ligne inseree dans le fichier influence le resultat (c'est a dire plus de lignes inserees dans le fichier) ?


Merci