CREATE OR REPLACE TYPE udt_object_sp FORCE IS OBJECT (
branch_no CHAR(4),
branch_name VARCHAR2(200)
) NOT FINAL;
/
CREATE OR REPLACE TYPE udt_object_sub FORCE UNDER udt_object_sp (
area_no CHAR(2),
address VARCHAR2(200)
) NOT FINAL;
/
DECLARE
obj1 udt_object_sub := udt_object_sub('0101','Beijing','01','North Street');
obj2 udt_object_sp;
BEGIN
obj2 := TREAT (obj1 AS udt_object_sp);
DBMS_OUTPUT.PUT_LINE(obj2.branch_name);
END;
/
DECLARE
obj1 udt_object_sp := udt_object_sub('0101','Beijing','01','North Street');
obj2 udt_object_sub;
BEGIN
obj2 := TREAT (obj1 AS udt_object_sub);
DBMS_OUTPUT.PUT_LINE(obj2.branch_name);
END;
/
评论