Some times you may want
type which holds all types of data including numbers, chars and special
characters something like this. You can not achieve this using pre-defined
types.
You can define custom
types which holds your desired data.
Ex:
Suppose in a table we have address column
which holds hno and city information.
We will define a custom type which holds
both numeric as well as char data.
CREATING ADT
SQL> create type addr as object(hno number(3),city varchar(10)); /
CREATING TABLE BASED ON ADT
SQL> create table student(no number(2),name varchar(2),address addr);
INSERTING DATA INTO ADT TABLES
SQL> insert into student values(1,'a',addr(111,'hyd'));
SQL> insert into student values(2,'b',addr(222,'bang'));
SQL> insert into student values(3,'c',addr(333,'delhi '));
SELECTING DATA FROM ADT TABLES
SQL> select * from student;
NO NAME ADDRESS(HNO, CITY)
--- ------- -------------------------
1 a
ADDR(111, 'hyd')
2 b
ADDR(222, 'bang')
3 c
ADDR(333, 'delhi ')
SQL> select no,name,s.address.hno,s.address.city from student s;
NO NAME ADDRESS.HNO ADDRESS.CITY
---- ------- ----------------- ----------------
1 a 111 hyd
2 b 222 bang
3 c 333 delhi
UPDATE WITH ADT TABLES
SQL> update student s set
s.address.city = 'bombay '
where s.address.hno = 333;
SQL> select
no,name,s.address.hno,s.address.city from student s;
NO NAME ADDRESS.HNO ADDRESS.CITY
---- ------- ----------------- ----------------
1 a 111 hyd
2 b 222 bang
3 c 333 bombay
DELETE WITH ADT TABLES
SQL> delete student s where s.address.hno
= 111;
SQL> select
no,name,s.address.hno,s.address.city from student s;
NO NAME ADDRESS.HNO ADDRESS.CITY
---- ------- ----------------- ----------------
2 b 222 bang
3 c 333 bombay
DROPPING ADT
SQL> drop type addr;
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.