Добавление ограничений на абстрактный тип
У меня есть этот тип, который я создал:
create type baseType as Object(...) NOT Instantiable not Final
и я хотел бы добавить ограничения для некоторых полей. Проблема в том, что этот тип в not instantiable
и поэтому я не могу добавить ограничение к его полям. Итак, когда я создаю свои наследующие типы
create type childType1 under baseType (...)
create type childType2 under baseType (...)
Я должен добавить ограничения для всех дочерних таблиц. Это правильный путь? Я думал, что будет способ добавить ограничения на общие поля только в родительском типе. Есть ли способ сделать это?
1 ответ
Вы не можете добавлять ограничения к типам объектов вообще - ограничения находятся на столе. Если объект не является экземпляром, вы не можете иметь таблицу на его основе, поэтому не имеет никаких ограничений на него.
Я думаю, что ответом будет сделать объект типа Instantiable. Затем вы можете создать таблицу на основе этого с ограничениями. Конечно, эти ограничения не будут "наследоваться" дочерними типами.
Однако все это говорит о том, что я лично избегаю типов объектов Oracle, когда могу.