1

我有我创建的这种类型:

create type baseType as Object(...) NOT Instantiable not Final

我想为某些字段添加约束。问题是这种类型,not instantiable因此,我无法为其字段添加约束。那么,当我创建我的继承类型时

create type childType1 under baseType (...) 

create type childType2 under baseType  (...) 

我必须为所有子表添加约束。这是正确的方法吗?我认为有一种方法可以仅在父类型中添加对公共字段的约束。有没有办法做到这一点?

4

1 回答 1

2

您根本无法向对象类型添加约束 - 约束在表上。如果对象不可实例化,则不能有基于它的表,因此对它没有约束。

我想答案是使对象类型可实例化。然后,您可以基于它创建一个带有约束的表。当然,这些约束不会被子类型“继承”。

尽管如此,我个人尽可能避免使用 Oracle 对象类型。

于 2012-12-10T07:47:53.463 回答