Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.06.2008, 17:46   #1
D-mon
Форумчанин
 
Регистрация: 22.06.2007
Сообщений: 414
По умолчанию Как вывести названия всех столбцов таблицы в PL/SQL

Привет всем. Как в PL/SQL вывести названия всех столбцов таблицы??? Спасибо.
Нет невыполнимых задач, всё дело времени...
D-mon вне форума Ответить с цитированием
Старый 24.06.2008, 21:23   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

завтра смогу на работе глянуть.
копайте в сторону системных псевдотаблиц:
all_all_tab
all_tables
all_col
и т.д.
(ну, и накладывайте условие WHERE
OWNER='xxxx' и/или TABLENAME='xxx')
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.06.2008, 08:43   #3
Andrei
Форумчанин
 
Регистрация: 20.06.2007
Сообщений: 270
По умолчанию

Возможно, как предлагает Serge_Bliznykov будет правильнеее, ну а я напишу как на мой взгляд проще:

1. Выполняем запрос со звездочкой типа:
SELECT * FROM MyTable WHERE ...
Условие можно задать так, чтобы записей ему соответствующих, не нашлось. Тогда запрос выполнится быстрее.

2. Разбираем свойство FieldList этого датасета и вытаскиваем из него имена полей.
-Кукушка, кукушка! Накукуй мне сто лет!
-А накукуй тебе столько?

(с) Библия. Вольный перевод с древнееврейского.
Andrei вне форума Ответить с цитированием
Старый 25.06.2008, 10:27   #4
D-mon
Форумчанин
 
Регистрация: 22.06.2007
Сообщений: 414
По умолчанию

Цитата:
2. Разбираем свойство FieldList этого датасета и вытаскиваем из него имена полей.
Если Вы Andrei внимательно читали вопрос, то я спрашивал как сделать это в PL/SQL, а не в Delphi. Как это сделать в Delphi я знаю, всё таки 4 года с БД в Delphi работаю.
Нет невыполнимых задач, всё дело времени...
D-mon вне форума Ответить с цитированием
Старый 25.06.2008, 10:50   #5
Andrei
Форумчанин
 
Регистрация: 20.06.2007
Сообщений: 270
По умолчанию

Цитата:
Сообщение от D-mon Посмотреть сообщение
Если Вы Andrei внимательно читали вопрос, то я спрашивал как сделать это в PL/SQL, а не в Delphi. Как это сделать в Delphi я знаю, всё таки 4 года с БД в Delphi работаю.
Виноват, действильно невнимательно прочитал.
-Кукушка, кукушка! Накукуй мне сто лет!
-А накукуй тебе столько?

(с) Библия. Вольный перевод с древнееврейского.
Andrei вне форума Ответить с цитированием
Старый 25.06.2008, 10:55   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Andrei
2. Разбираем свойство FieldList этого датасета и вытаскиваем из него имена полей.
ну, так можно, но это будет на клиенте, что противоречит вопросу - "Как в PL/SQL вывести..."

D-mon, получилось?
можете попробовать, например, такой запрос:
Код:
select t.COLUMN_ID, t.COLUMN_NAME from all_tab_columns t where t.TABLE_NAME='SUBST_BREAKER'
   order by t.COLUMN_ID
кроме имён столбцов, какая ещё информация нужна?..

добавлено. пока читал форум и писал ответ, тут уже целая дисскусия произошла ;-)

Последний раз редактировалось Serge_Bliznykov; 25.06.2008 в 10:57. Причина: добавлено
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.06.2008, 11:10   #7
D-mon
Форумчанин
 
Регистрация: 22.06.2007
Сообщений: 414
По умолчанию

Serge_Bliznykov СПС... Всё работает, всё выводит... +10...
Нет невыполнимых задач, всё дело времени...
D-mon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение названия локально зарегистрированного сервера ameli SQL, базы данных 1 06.06.2008 23:31
Вывод похожего названия в DBEdit Wiser87 БД в Delphi 2 06.06.2007 11:42
Помогите с определением названия диска londoner Общие вопросы Delphi 2 15.02.2007 17:30