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
|
Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.3.0
SQL> set serveroutput on
SQL>
SQL> Declare
2 n Pls_Integer := 10;
3 NbrPaire sys.odcinumberlist;
4 NbrImpaire sys.odcinumberlist;
5 --
6 Procedure Print(
7 Titre In Varchar2,
8 NumCollection In sys.odcinumberlist
9 ) Is
10 Begin
11 Dbms_Output.put_line(Titre);
12 For i in 1..NumCollection.Count() Loop
13 Dbms_Output.put_line(NumCollection(i));
14 End Loop;
15 End;
16 --
17 Begin
18 Select Cast(Collect(Case When Mod(level,2) = 0 Then level End) As sys.odcinumberlist) Paires,
19 Cast(Collect(Case When Mod(level,2) != 0 Then level End) As sys.odcinumberlist) Impaires
20 Into NbrPaire,
21 NbrImpaire
22 From dual
23 Connect by Level <= n;
24 --
25 Print('Les paires:', NbrPaire);
26 Print('Les impaires:', NbrImpaire);
27 End;
28 /
Les paires:
2
4
6
8
10
Les impaires:
1
3
5
7
9
PL/SQL procedure successfully completed
SQL> |