如果我有一个类型 x_typ 和子类型 y_typ,是否可以创建一个 x_typ 的对象表,但对 y_typ 属性之一施加约束,即
create table x_table of x_typ (
constraint constr_y check (y_typ.attribute1 < 5);
);
谢谢
最佳答案
我能来的最近的是...
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);
关于oracle - 对子类型属性的约束 (Oracle),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2330678/