Professional Documents
Culture Documents
Rather than being constrained to the standard Oracle datatypes of NUMBER, DATA, and VA RCHAR2, abstract datatypes can more accurately describe your data. Ex:create type ADDRESS_TY as object (Street VARCHAR2(20), City VARCHAR2(10), State CHAR(10), Pin NUMBER); Now the datatype ADDRESS_TY is been created. You can use this datatype alon gwith other datatypes. For ex. will create a standard datatype for people which contain Name and address of a person. create type PERSON_TY as object ( Name VARCHAR2(20), Address ADDRESS_TY); Now PERSON_TY contains Name and address of a person we can use this to create t able. You can't insert data into PERSON_TY. The reason is straightforward: A datat ype describes data, it does not store data. You cannot store data in a NUMBER da tatype, and you cannot store data in a datatype that you define, either. To stor e data, you have to create a table that uses your datatype. The following command create a table name CUSTOMER. create table CUSTOMER (Customer_ID NUMBER, Person PERSON_TY); To Insert rows into CUSTOMER do following insert into CUSTOMER VALUES (1, PERSON_TY('HARI',ADDRESS_TY('#102 Lokhand wala','mumbai','MH',10101); to select data from CUSTOMER table Select customer_ID, c.person.name from CUSTOMER C; First, Note that the access of the datatype's attribute requires the use of a table alias. A table alias, also known as a correlation variable, allows Oracle to resolve any ambiguity regarding the name of the object being selected. As a c olumn name, Person.Name points to the Name attribute within the PERSON_TY dataty pe. The format for the column name is correlation.Column.Attribute to select Street which is availabe in ADDRESS_TY correlation.Column.column.Attribute C.PERSON.ADDRESS.STREET