У меня есть таблица с 50 + столбцами, и мне нужно поменять порядок первых двух столбцов. Каков наилучший способ сделать это с помощью Oracle? Предположим, что имя таблицы ORDERDETAILS и как есть, первые два столбца: ITEM_ID и ORDER_ID. По завершении переименования имя таблицы должно быть ORDERDETAILS, но первые два столбца будут ORDER_ID и ITEM_ID. FWIW, типы столбцов и остальные столбцы и их порядок являются релевантными.
Исправьте меня, если я ошибаюсь, но я думаю, что общие шаги:
- Переименуйте существующую таблицу.
- Устранить ограничение первичного ключа.
- Повторно создайте таблицу с правильным порядком столбцов.
- Элемент списка
- Запустите INSERT INTO.. SELECT, чтобы переместить данные из temp в таблицу на шаге 3.
- Отбросьте таблицу temp.
У меня мало опыта работы с Oracle, поэтому, возможно, мне не хватает шага или двух.
Имеет ли первичный ключ индекс в Oracle? Снижает ли первичный ключ индекс?
Примеры SQL очень ценятся.
EDIT: Не искренняя благодарность тем, кто задает вопрос, почему это нужно сделать, а не оказывать помощь. Чтобы ответить на ваш вопрос о том, зачем это нужно, я выполняю приказы от кого-то, кто говорит, что мне нужно сделать это таким образом, и порядок столбцов имеет значение. Мои мысли/мнения об этом не имеют значения.