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 |