The closest I can come ...
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);
source share