Кроме индексов, определенных как часть основного или уникального ограничения, похоже, нет способа определить индекс как часть оператора CREATE TABLE
в Oracle. Хотя предложение USING INDEX
является частью элемента constraint-state
оператора CREATE TABLE
, выдается ошибка missing right parenthesis
, если вы пытаетесь включить предложение USING INDEX
в любое определение ограничения, кроме ограничения PRIMARY или UNIQUE - см. Эту базу данных <> fiddle для примеров.
Что касается "почему" - это вопрос, на который может ответить только кто-то из команды по архитектуре Oracle. С моей личной точки зрения, ориентированной на пользователя, я не вижу особой ценности в создании индекса как части оператора CREATE TABLE
, но потом я привык к тому, как работает Oracle, и мои шаблоны мышления ориентированы на это конкретное направление. YMMV.