Inserting Rows into the Table with object type column : Insert « Object Oriented « Oracle PL/SQL Tutorial






When inserting a row into a table containing a column object, you must supply the attribute for that object using a constructor.

The constructor has the same name as the object type and accepts parameters fo attributes of the object.

SQL> CREATE Or Replace TYPE ProductType AS OBJECT (
  2    id          NUMBER,
  3    name        VARCHAR2(15),
  4    description VARCHAR2(22),
  5    price       NUMBER(5, 2),
  6    days_valid  NUMBER
  7  );
  8  /

Type created.

SQL>
SQL> CREATE TABLE products (
  2    product           ProductType,
  3    count NUMBER
  4  );

Table created.

SQL>
SQL>
SQL>
SQL> INSERT INTO products (product,count) VALUES (
  2            ProductType(1, 'AA', 'BBB', 3.95, 10),50
  3  );

1 row created.

SQL>
SQL> INSERT INTO products (product,count) VALUES (
  2            ProductType(2, 'CC', 'DDDD', 2.99, 5),25
  3  );

1 row created.

SQL>
SQL> select * from products;

PRODUCT(ID, NAME, DESCRIPTION, PRICE, DAYS_VALID)     COUNT
----------
PRODUCTTYPE(1, 'AA', 'BBB', 3.95, 10)                 50
PRODUCTTYPE(2, 'CC', 'DDDD', 2.99, 5)                 25


SQL>
SQL>
SQL> drop table products;

Table dropped.

SQL>
SQL>








32.12.Insert
32.12.1.Inserting Rows into the Table with object type column
32.12.2.Inserting a row of object into an object table
32.12.3.Inserting a row into an object table by supplying the values in the same way in a relational
32.12.4.INSERT Values into a Table with the Column Type in It
32.12.5.Object Relational tables
32.12.6.INSERT object instance by calling its constructor
32.12.7.Reference column name in an object table
32.12.8.Insert value to a table with 'table of custom type' as table column type
32.12.9.Reference type constructor in insert statement
32.12.10.Use user-defined type in insert statement
32.12.11.Insert statement with nested type