Bonjour à tous,
Je vous explique mon problème ; je dois générer dans un fichier texte des données correspondant à des enregistrements de ma base de données. Mon problème réside dans le traitement du cas où l'espace disque est dépassé voici ce qui se passe :
Quand l'espace disque est saturé, une dernière ligne est insérée, mais malheureusement, elle n'est pas générée entièrement. Pour les enregistrements suivant, on passe bien dans l'exception.
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 declare cursor mes_clients is select * from clients; out_file TEXT_IO.FILE_TYPE; begin out_file := TEXT_IO.FOPEN('c:\toto','W'); for w_client in mes_clients loop begin TEXT_IO.PUT(out_file, RPAD(NVL(w_client.numero_client,' '),15,' ')|| RPAD(NVL(w_client.nom_client,' '),5,' ')|| RPAD(nvl(w_client.date_naissance,' '),10,' ')|| RPAD(NVL(w_client.ville,' '),10,' '); exception WHEN OTHERS THEN pr_erreur('CXCLIENTS',w_num_fic , 'numero_client', n, 'erreur creation'); end; end loop; end;
Ce que j'aurais voulu c'est que dès qu'une ligne ne peux pas être insérée entièrement on passe dans l'exception. Est-ce que quelqu'un aurait une idée ?
Merci d'avance.
Partager