Mega Code Archive

 
Categories / Oracle PLSQL / PL SQL
 

Constructs a two varrays and one nested table type in the database

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>