| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Oracle > Переставить столбец в ORACLE |
| Автор: Song 3.8.2005, 08:37 |
| Сабж. Необходимо поменять местами столбцы. |
| Автор: LSD 3.8.2005, 09:49 | ||
По моему без потери данных нельзя это можно сделать только правкой словаря, что не есть гут. А с потерей так:
ну или drop column и add column. |
| Автор: AntonSaburov 3.8.2005, 12:04 |
| А зачем ? Теория баз данных как раз подразумевает, что порядок столбцов не должен иметь значения. Я помню в том же FoxPro (7-й версии) ответ на запрос не гарантировал тот же порядок полей, что и порядок полей в запросе. Не совсем наверно это корректно, но тем не менее. Так что не вижу смысла. |
| Автор: igon 4.8.2005, 02:28 | ||
Constraints, Indexes и пр. на отдельные поля и таблицу придется пересоздавать. Понятно, что вариант далеко не самый элегантный... |
| Автор: Song 4.8.2005, 14:23 |
| Смысл в том, что открывая таблицу в PL/SQL Developer'е, делается такой запрос SELECT * FROM ... И столбцы выводятся в порядке как они созданы. Но таблица, скажем так, была создана "не совсем продуманно" и важные поля (в плане визуального наблюдения на момент разработки) находятся за полосой прокрутки. А их надо видеть. Конечно можно изменить запрос и выбирать только нужные столбцы, но в этом случае навигация по таблицам существенно замедлится. |
| Автор: LSD 4.8.2005, 16:11 | ||
Можно конечно словарь подправить, такой запрос вернет все колонки для заданной таблицы:
порядковый номер колонки содержится в COL#. Disclaimer: за развал базы в случае чего, я не овечаю |
| Автор: igon 4.8.2005, 21:48 |
| ИМХО, исходная постановка задачи не совсем корректна: требуется не ПЕРЕСТАВЛЯТЬ столбцы, а ОТОБРАЗИТЬ их в нужной последовательности - в любой момент разработки "важными" могут стать другие поля. И что, опять их переставлять? Вариант: пусть рабочая схема WORK. Создай схему TEST и помести в нее VIEW на все нужные таблицы WORK, причем имя TEST.VIEW == имя WORK.Table. Нужная последовательность полей во View задается тривиально. Разработчик работает со схемой TEST, единственное для него "неудобство" - выбирать не из "Tables", а из "Views" |
| Автор: mx1234567 9.10.2015, 18:55 | ||||
Вот так работает:
|
| Автор: Akina 9.10.2015, 21:44 |
Решение простое - не делай ТАКОЙ запрос, указывай явно нужные поля в нужном порядке. PS. Нет, когда лень не даёт перечислять поля, потому что можно влепить звёздочку - это ещё худо-бедно можно понять. Но позволить лени сделаться настолько глобальной, чтобы ради неё лопатить структуру - это уже перебор... |
| Автор: Zloxa 9.10.2015, 21:54 |
| Akina, вопрос поставлен десятилетие назад |