Как упорядочить по имени столбца при получении списка столбцов их типов данных с помощью DESCRIBE в SQL Developer? - PullRequest
0 голосов
/ 05 ноября 2019

Мне нужен способ выяснить, как получить список столбцов в алфавитном порядке при использовании команды DESCRIBE в SQL Developer. Что-то вроде упорядочения таблицы desc по имени;это не будет работать, конечно, но что-то в этом роде.

Ответы [ 3 ]

3 голосов
/ 05 ноября 2019

a_horse_with_no_name и Littlefoot ОБА правильные, но где это вас покинет?

Если вы хотите, вы можете создать новую команду, которая получит то, что вы хотите.

В SQLcl -

SQL> alias alphadesc=select column_name, data_type, column_id
  2  from user_tab_columns 
  3  where table_name = upper(:tablename)
  4* order by column_name;

Мы можем воспользоваться командой ALIAS, используемой для создания ярлыков для предопределенных битов SQL или PL / SQL.

enter image description here

вы являетесь разработчиком sql - вы можете сделать это и там, либо с помощью функции ALIAS (для подключений потребуется войти в сценарий входа в систему по умолчанию или вы можете создатьшаблон кода)

PS SQLcl - это наш современный подход к SQLPlus, он доступен в виде небольшого автономного приложения, но также находится в каталоге SQL Developer / bin

2 голосов
/ 05 ноября 2019

Вы не можете изменить способ отображения результата команды DESCRIBE, но вы можете запросить системный каталог напрямую:

select column_name, data_type, column_id
from user_tab_columns 
where table_name = 'YOUR_TABLE'
order by column_name

Если текущий пользователь не является владельцем таблицы, которую вы просматриваете, используйте all_tab_columns, но вы также должны указать имя владельца:

select column_name, data_type, column_id
from all_tab_columns 
where table_name = 'YOUR_TABLE'
  and owner = 'SOME_USER'
order by column_name
1 голос
/ 05 ноября 2019

Полагаю, вы хотите запросить USER_TAB_COLUMNS.

В простейшем случае это будет

select *
from user_tab_columns
where table_name = 'SOME_TABLE_NAME'
order by column_name;
...