Изменить порядок столбцов таблицы в Oracle

если бы Вы собираетесь разработать исходные приложения для iPhone, я сказал бы, заставляют iPhone или iPod touch предназначаться. эмуляторы хороши, но в конечном счете необходимо будет быть нацелены на реальную вещь. при разработке веб-определенного содержания существует много вещей, можно обойтись без него (существуют некоторые большие dev видео, лишенные яблок dev сайт, который будет только стоить Вам знака), но в конечном счете я думал бы, что Вы все еще захотите протестировать с реальным соглашением

37
задан Ryan Rodemoyer 9 February 2011 в 15:13
поделиться

1 ответ

Я следовал за решением выше от Jonas, и оно работало хорошо, пока я не должен был добавлять второй столбец. То, что я нашел, - то, что при создании столбцов видимыми снова Oracle не обязательно устанавливает их видимый в порядке, перечисленном в операторе.

Для демонстрации это следует примеру Jonas выше. Когда он показал, как только шаги, заполняют таблицу, находится в порядке, который Вы ожидали бы. Вещи тогда ломаются, когда Вы добавляете другой столбец как показано ниже:

Пример (продолжался от Jonas):

Добавляют другой столбец, который должен быть вставлен перед столбцом C.

ALTER TABLE t ADD (b2 INT);

Использование техника, продемонстрированная выше для перемещения недавно добавленного столбца B2 перед столбцом C.

ALTER TABLE t MODIFY (c INVISIBLE, d INVISIBLE, e INVISIBLE);
ALTER TABLE t MODIFY (c VISIBLE, d VISIBLE, e VISIBLE);

DESCRIBE t;

Name
----
A
B
B2
D
E
C

Как показано выше столбца C переместился до конца. Кажется, что оператор ALTER TABLE выше обработал столбцы в порядке D, E, C, а не в порядке, определенном в операторе (возможно, в физическом порядке таблицы). Чтобы гарантировать, что столбец помещается, где желаемый, необходимо сделать столбцы видимыми один за другим в желаемом порядке.

ALTER TABLE t MODIFY (c INVISIBLE, d INVISIBLE, e INVISIBLE);
ALTER TABLE t MODIFY c VISIBLE;
ALTER TABLE t MODIFY d VISIBLE;
ALTER TABLE t MODIFY e VISIBLE;

DESCRIBE t;

Name
----
A
B
B2
C
D
E
2
ответ дан 27 November 2019 в 04:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: