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
|
-- variables déclarées
i, num1, num2 integer;
pos_fich1, pos_fich2 integer;
anc_position, position integer;
chaine1, chaine2 varchar2(20);
buffer, buffer1, buffer2, buffAux varchar2(1500);
fich_resultat UTL_FILE.FILE_TYPE;
-- tri
-- creation du descripteur du fichier
fich_resultat := UTL_FILE.FOPEN ('REPERTOIRE', 'test_result', 'r');
-- tri des lignes du fichier test_result
while echange loop
echange := vrai;
loop
begin
UTL_FILE.GET_LINE(fich_resultat, buffer1);
UTL_FILE.GET_LINE(fich_resultat, buffer2);
exception
when no_data_found then exit;
end;
pos_fich1 := instr (buffer1, ' ');
pos_fich2 := instr (buffer1, ' ');
chaine1 := substr (buffer1, 0, pos_fich -1);
chaine2 := substr (buffer2, 0, pos_fich -1);
num1 := to_number(chaine1);
num2 := to_number(chaine2);
if (num1 > num2) then
buffAux := buffer1;
buffer1 :) buffer2;
buffer2 := buffAux;
echange := faux;
end loop;
end loop; |
Partager