SQL>
SQL> SET ECHO ON
SQL> SET SERVEROUTPUT ON SIZE 1000000
SQL>
SQL>
SQL> CREATE OR REPLACE TYPE unitType
2 AS VARRAY(13) OF VARCHAR2(5 CHAR);
3 /
Type created.
SQL>
SQL>
SQL> CREATE OR REPLACE TYPE categoryType
2 AS VARRAY(4) OF VARCHAR2(8 CHAR);
3 /
Type created.
SQL>
SQL>
SQL> CREATE OR REPLACE TYPE charArrayType
2 AS TABLE OF VARCHAR2(17 CHAR);
3 /
Type created.
SQL>
SQL> DECLARE
2
3 counter INTEGER := 0;
4
5
6 suits categoryType :=categoryType('A','B','C','D');
7
8
9 units unitType :=unitType('Ace','Two','Three','Four','Five','Six','Seven');
10
11
12 charArray charArrayType := charArrayType();
13
14 BEGIN
15 FOR i IN 1..suits.COUNT LOOP
16 FOR j IN 1..units.COUNT LOOP
17
18 counter := counter + 1;
19 charArray.EXTEND;
20
21
22 charArray(counter) := units(j)||' of '||suits(i);
23
24 END LOOP;
25
26 END LOOP;
27
28 FOR i IN 1..counter LOOP
29 dbms_output.put_line('['||charArray(i)||']');
30 END LOOP;
31
32 END;
33 /
[Ace of A]
[Two of A]
[Three of A]
[Four of A]
[Five of A]
[Six of A]
[Seven of A]
[Ace of B]
[Two of B]
[Three of B]
[Four of B]
[Five of B]
[Six of B]
[Seven of B]
[Ace of C]
[Two of C]
[Three of C]
[Four of C]
[Five of C]
[Six of C]
[Seven of C]
[Ace of D]
[Two of D]
[Three of D]
[Four of D]
[Five of D]
[Six of D]
[Seven of D]
PL/SQL procedure successfully completed.
SQL>
|