|
Как можно узнать структуру БД из запроса SQL? |
☑ |
0
Александр Б
09.02.10
✎
21:41
|
Есть база. Имеется возможность извлекать из нее SQLвыборки. Можно ли как-нибудь получить каким-нибудь запросом описание таблиц БД?
|
|
1
ДенисЧ
09.02.10
✎
21:45
|
Если мсскл, то читай про sys.objects
|
|
2
shuhard
09.02.10
✎
21:45
|
(0) + не забываем про ADOX
|
|
3
Чайник Рассела
09.02.10
✎
21:47
|
ПолучитьСтруктуруХраненияБазыДанных(<Объекты метаданных>, <Имена базы данных>)
нЭ?
|
|
4
ДенисЧ
09.02.10
✎
21:48
|
(3) А кто сказал, что речь про 8.1?
|
|
5
Александр Б
09.02.10
✎
21:49
|
речь не про 1С
|
|
6
Александр Б
09.02.10
✎
21:52
|
(1), (2) и все же, вопрос у меня, можно ли обычным(!) SQL запросом получить описание структуры БД, какие таблицы, какие колонки? Без внешних инструментов.
|
|
7
Rabbit
09.02.10
✎
21:53
|
общего решения нет
|
|
8
Rabbit
09.02.10
✎
21:54
|
в (1) речь о внешних инструментах не шла
|
|
9
Александр Б
09.02.10
✎
21:57
|
(8) ага, вроде нашел пример по поводу (1). Но база не mssql.
|
|
10
ДенисЧ
09.02.10
✎
21:58
|
(6) Я э грю. Из sys.objects - получаешь имена таблиц
select 341576255, name from sys.objects where type = 'U'
потом
select * from sys.columns where object_id = нужный id из первого селекта.
Всё делается штатным запросом. Расшифрока значений - в BOL
|
|
11
ДенисЧ
09.02.10
✎
21:58
|
А если не мсскл - то а) нужно сразу уточнять, ибо это зависит. б) смотреть в документацию по серверу.
|
|
12
ДенисЧ
09.02.10
✎
21:59
|
Имена колонок можно получить по select * from table where 1=0
имена таблиц для mysql - show_tables;
Другие базы сильно не крутил.
|
|
13
Александр Б
09.02.10
✎
22:00
|
ДенисЧ спасибо! Суть дальнейших действий ясна.
|
|