Store pre-defined constants in VARRAY : varray « PL SQL « Oracle PL / SQL






Store pre-defined constants in VARRAY

    
SQL>
SQL> create table ord(
  2           order_no               integer
  3          ,cust_no                integer
  4          ,order_date             date not null
  5          ,total_order_price      number(7,2)
  6          ,deliver_date           date
  7          ,deliver_time           varchar2(7)
  8          ,payment_method         varchar2(2)
  9          ,emp_no                 number(3,0)
 10          ,deliver_name           varchar2(35)
 11          ,gift_message           varchar2(100)
 12  );

Table created.

SQL>
SQL>
SQL> CREATE OR REPLACE PROCEDURE p_add_orders (v_ord_ctr IN number, v_item_ctr IN number,
  2  v_cust_no IN number, v_emp_no IN number)
  3  AS
  4     v_loop  number := 1;
  5     v_type_ctr      number := 1;
  6     v_curr_order ord.order_no%TYPE;
  7
  8     TYPE PayMethods IS VARRAY(10) OF VARCHAR2(2);
  9     v_paymethods    PayMethods := PayMethods('VS','CA','VG','AX','CK','MC','DI','CA','CK','VS');
 10
 11     TYPE Orderdates IS VARRAY(10) OF DATE;
 12     v_odates        Orderdates :=  Orderdates(add_months(sysdate, -45),
 13                                                     add_months(sysdate, -14),
 14                                                     add_months(sysdate, -22),
 15                                                     add_months(sysdate, -38),
 16                                                     add_months(sysdate, -46),
 17                                                     add_months(sysdate, -59),
 18                                                     add_months(sysdate, -19),
 19                                                     add_months(sysdate, -11),
 20                                                     add_months(sysdate, -74),
 21                                                     add_months(sysdate, -6));
 22  begin
 23             WHILE v_loop <= v_ord_ctr LOOP
 24                     IF v_type_ctr > 10 THEN
 25                        v_type_ctr := 1;
 26                     END IF;
 27
 28                     INSERT INTO ord (ORDER_NO, CUST_NO, ORDER_DATE, TOTAL_ORDER_PRICE, DELIVER_DATE,
 29                                      PAYMENT_METHOD, EMP_NO)
 30                     VALUES (999, v_cust_no, v_odates(v_type_ctr), 0, v_odates(v_type_ctr) + 10,
 31                               v_paymethods(v_type_ctr), v_emp_no );
 32
 33                     SELECT 11111
 34                       INTO v_curr_order
 35                       FROM dual ;
 36
 37                     v_loop := v_loop + 1 ;
 38                     v_type_ctr := v_type_ctr + 1 ;
 39             END LOOP;
 40  end;
 41  /

Procedure created.

SQL>
SQL> show error
No errors.
SQL>
SQL>
SQL> drop table ord;

Table dropped.

SQL>
SQL>
SQL> --

   
    
    
  








Related examples in the same category

1.Varray constructors.
2.legal and illegal varray assignments.
3.TYPE Strings IS VARRAY(5) OF VARCHAR2(10)
4.Create a varray based on user defined type
5.Creating and Using VARRAYs
6.Query a stored varray.
7.VARRAY of VARCHAR2 and Varray of number
8.Table of numbers and varray of numbers
9.Initialize the array and create two entries using the constructor
10.Reference elements in varray
11.assignments to varray elements, and the ORA-6532 and ORA-6533 errors.
12.ORA-06533: Subscript beyond count
13.Compare two varray variables
14.Constructs a two varrays and one nested table type in the database
15.Control varray index with if statement
16.Create type prices with a varray of number
17.Declare the varray with null values.
18.Declaring a VARRAY of scalar variable
19.Define a varray of integer with 3 rows
20.Define a varray of twelve strings.
21.Define a varray with a null element constructor and extends it one element at a time by a formula
22.Define a varray with a null element constructor and extends it one element at a time.
23.Define a varray with a three element constructor of null elements and attempt to populate it beyond three elements.
24.Define a varray with a three element constructor of null elements.
25.Hard code value in varray and use for loop to insert them to a table
26.Nested varray
27.Reference varray.count in for loop
28.Store 12 months in varray of string
29.Use table() function to display varray type column
30.exceeded maximum VARRAY limit
31.Assign values to subscripted members of the varray.
32.Check the size of a varray
33.Declare an array initialized as a no-element collection.
34.Extend with null element to the maximum limit size.
35.Initialization and assignment with a numeric index value to an associative array.
36.Initialization and assignment with a unique string index value to an associative array.
37.Associative array example
38.Assigns a value to the indexed value.
39.Avoid traversing an associative array where no elements are initialized.
40.Subscript index values begin at 1, not 0