Set empty varray value : VARRAY Column « Collections « Oracle PL/SQL Tutorial






SQL>
SQL>
SQL> column numlist format a60
SQL>
SQL>
SQL> create table employees(
  2    empno      NUMBER(4)
  3  , ename      VARCHAR2(8)
  4  , init       VARCHAR2(5)
  5  , job        VARCHAR2(8)
  6  , mgr        NUMBER(4)
  7  , bdate      DATE
  8  , msal       NUMBER(6,2)
  9  , comm       NUMBER(6,2)
 10  , deptno     NUMBER(2) ) ;

Table created.

SQL>
SQL>
SQL> insert into employees values(1,'Jason',  'N',  'TRAINER', 2,   date '1965-12-18',  800 , NULL,  10);

1 row created.

SQL> insert into employees values(2,'Jerry',  'J',  'SALESREP',3,   date '1966-11-19',  1600, 300,   10);

1 row created.

SQL> insert into employees values(3,'Jord',   'T' , 'SALESREP',4,   date '1967-10-21',  1700, 500,   20);

1 row created.

SQL> insert into employees values(4,'Mary',   'J',  'MANAGER', 5,   date '1968-09-22',  1800, NULL,  20);

1 row created.

SQL> insert into employees values(5,'Joe',    'P',  'SALESREP',6,   date '1969-08-23',  1900, 1400,  30);

1 row created.

SQL> insert into employees values(6,'Black',  'R',  'MANAGER', 7,   date '1970-07-24',  2000, NULL,  30);

1 row created.

SQL> insert into employees values(7,'Red',    'A',  'MANAGER', 8,   date '1971-06-25',  2100, NULL,  40);

1 row created.

SQL> insert into employees values(8,'White',  'S',  'TRAINER', 9,   date '1972-05-26',  2200, NULL,  40);

1 row created.

SQL> insert into employees values(9,'Yellow', 'C',  'DIRECTOR',10,  date '1973-04-27',  2300, NULL,  20);

1 row created.

SQL> insert into employees values(10,'Pink',  'J',  'SALESREP',null,date '1974-03-28',  2400, 0,     30);

1 row created.

SQL>
SQL>
SQL>
SQL> create table e
  2  as
  3  select empno, ename, init, mgr, deptno
  4  from   employees;

Table created.

SQL>
SQL>
SQL> create or replace type numberVarray
  2  as varray(4) of varchar2(20);
  3  /

Type created.

SQL>
SQL>
SQL> alter table e add (numlist numberVarray);

Table altered.

SQL>
SQL> describe e;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 EMPNO                                              NUMBER(4)
 ENAME                                              VARCHAR2(8)
 INIT                                               VARCHAR2(5)
 MGR                                                NUMBER(4)
 DEPTNO                                             NUMBER(2)
 NUMLIST                                            NUMBERVARRAY

SQL>
SQL>
SQL>
SQL> update e
  2  set    numlist = numberVarray();

10 rows updated.



SQL>
SQL> drop table e;

Table dropped.

SQL>
SQL> drop table employees;

Table dropped.

SQL>
SQL> drop type numberVarray;

Type dropped.








26.3.VARRAY Column
26.3.1.Stored VARRAYS
26.3.2.Using a Varray Type to Define a Column in a Table
26.3.3.Display the structure of a table with a valarray column
26.3.4.Populating a Varray with Elements
26.3.5.Selecting Varray Elements
26.3.6.Modifying Varray Elements
26.3.7.Set empty varray value
26.3.8.Define function to get the first value in varray
26.3.9.Insert on whole VARRAYS
26.3.10.UPDATE on varray column in PL/SQL block
26.3.11.UPDATE on varray column
26.3.12.DELETE on varray column
26.3.13.SELECT into with varray column