-- popularea tabelelor INSERT INTO object_customers VALUES ( PersonType(1, 'John', 'White', '04-FEB-1945', '800-555-5555', AddressType('2 Ave', 'City', 'MA', '12345') ) ); INSERT INTO object_customers ( id, first_name, last_name, dob, phone, address ) VALUES ( 2, 'James', 'Green', '05-FEB-1968', '800-555-4444', AddressType('3 Ave', 'Town', 'CA', '12345') ); INSERT INTO object_products ( id, name, description, price, days_valid ) VALUES ( 1, 'AAA', 'BBB', 2.99, 5 ); INSERT INTO purchases ( id, customer, product ) VALUES ( 1, (SELECT REF(oc) FROM object_customers oc WHERE oc.id = 1), (SELECT REF(op) FROM object_products op WHERE op.id = 1) ); -- Selectarea obiectele referite select * from purchases; ID CUSTOMER PRODUCT ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 1 00002202084DE5F9FDE0704131B2DA2477DE28C548B2AF244ECB1E42B686FFFBAD0C5A8874 0000220208A772FB501EEF4A958FA182D42AF06C9072FFE34E8F8E4FC99B4C52F83340B041 -- Selectarea valorilor stocate in obiectele referite SELECT DEREF(customer), DEREF(product) FROM purchases; DEREF(CUSTOMER)(ID, FIRST_NAME, LAST_NAME, DOB, PHONE, ADDRESS(STREET, CITY, STATE, ZIP)) ------------------------------------------------------------------------------------------- DEREF(PRODUCT)(ID, NAME, DESCRIPTION, PRICE, DAYS_VALID) ------------------------------------------------------------------------------------------ PERSONTYPE(1, 'John', 'White', '04-FEB-45', '800-555-5555', ADDRESSTYPE('2 Ave', 'City', 'MA', '12345')) PRODUCTTYPE(1, 'AAA', 'BBB', 2.99, 5) UPDATE purchases SET product = ( SELECT REF(op) FROM object_products op WHERE op.id = 2 ) WHERE id = 1;