Имена таблиц и колонок

Компьютеры. программирование, бытовая техника

Модератор: Саша З.

Аватара пользователя
ykh
Ветеран мега-форума
Сообщения: 5182
Зарегистрирован(а): 19 янв 2005, 21:54
Откуда: Buffalo, NY

Имена таблиц и колонок

Сообщение ykh » 20 июн 2007, 18:47

Есть ли какие-либо sql или ещё какие-либо команды, возвращающие названия tables в базе данных, и есть какие-либо команды, возвращающие названия колонок в конкретной table?
В VB или C#.

Аватара пользователя
Lana
Ветеран мега-форума
Сообщения: 3914
Зарегистрирован(а): 17 мар 2002, 21:10
Откуда: Toronto

Сообщение Lana » 20 июн 2007, 19:03

О какой именно БД идет речь?
Все будет так, как должно быть, даже если будет наоборот...

Аватара пользователя
ykh
Ветеран мега-форума
Сообщения: 5182
Зарегистрирован(а): 19 янв 2005, 21:54
Откуда: Buffalo, NY

Сообщение ykh » 20 июн 2007, 19:07

Lana,
Oracle

Аватара пользователя
Lana
Ветеран мега-форума
Сообщения: 3914
Зарегистрирован(а): 17 мар 2002, 21:10
Откуда: Toronto

Сообщение Lana » 20 июн 2007, 19:19

Mожет, эта дискуссия поможет?
http://forums.devshed.com/oracle-develo ... 35613.html

Я-то с SQL Server работаю. Там это просто делается
Все будет так, как должно быть, даже если будет наоборот...

Аватара пользователя
ykh
Ветеран мега-форума
Сообщения: 5182
Зарегистрирован(а): 19 янв 2005, 21:54
Откуда: Buffalo, NY

Сообщение ykh » 20 июн 2007, 19:43

Lana писал(а):Mожет, эта дискуссия поможет?
http://forums.devshed.com/oracle-develo ... 35613.html

Спасибо. Жаль, сейчас не могу посмотреть: на работе доступ к форумам закрыт.
Я-то с SQL Server работаю. Там это просто делается

С СКюЭл сервером мы тоже работаем. Как же это делается тут? (Тоже может понадобиться, кто знает?)

Аватара пользователя
Lana
Ветеран мега-форума
Сообщения: 3914
Зарегистрирован(а): 17 мар 2002, 21:10
Откуда: Toronto

Сообщение Lana » 20 июн 2007, 20:53

В дискуссии предлагают для списка таблиц несколько вариантов:
1) select * from user_objects where object_type = 'TABLE'
2) SELECT table_name FROM tabs
3) select TABLE_NAME from ALL_ALL_TABLES

в SQL Server можно использовать либо stored proc:
Для списка таблиц: exec sp_tables
Для списка столбцов в таблице: exec sp_columns <table name>

либо запросить непосредственно из БД
Для таблиц:
select * from sys.sysobjects where xtype = 'U'

Для столбцов в таблице
SELECT sys.syscolumns.* FROM sys.sysobjects INNER JOIN
sys.syscolumns ON sys.sysobjects.id = sys.syscolumns.id
WHERE (sys.sysobjects.xtype = 'U') AND (sys.sysobjects.name = <name of your table>)
Все будет так, как должно быть, даже если будет наоборот...

Chalkind
Участник со стажем
Сообщения: 830
Зарегистрирован(а): 07 дек 2001, 02:00

Сообщение Chalkind » 20 июн 2007, 22:08

SELECT TABLE_NAME FROM ALL_TABLES;

SELECT TABLE_NAME FROM USER_TABLES;

SELECT TABLE_NAME, COLUMN_NAME FROM ALL_TAB_COLUMNS;

SELECT TABLE_NAME, COLUMN_NAME FROM USER_TAB_COLUMNS;

ALL_ALL_TABLES includes also object tables

Prefix USER_ is just for your schema
Prefix ALL_ is for all schemas you have access

AlexZ75
Участник со стажем
Сообщения: 1304
Зарегистрирован(а): 18 ноя 2001, 02:00
Откуда: Петах-Тиква
Контактная информация:

Сообщение AlexZ75 » 21 июн 2007, 06:07

Для полного счастья:
SELECT * FROM DICT
Тут описано где и как оракл хранит Dictionary. :39:
Отличительная черта большинства туземцев - человеколюбие.


Вернуться в «Наука и техника»




  Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 13 гостей