Самое близкое, что я могу прийти, это ...
CREATE OR REPLACE TYPE x_typ AS OBJECT (record_type varchar2(1)) NOT FINAL;
/
CREATE OR REPLACE TYPE y_typ UNDER x_typ (attribute1 number) ;
/
create table x_table (x_col x_typ);
alter table x_table add constraint x_cons
check ( 1 = case when x_col is of (y_typ) then
treat (x_col as y_typ).attribute1 else 1 end);