Как отобразить все столбцы / поля во всех пользовательских таблицах? - PullRequest
0 голосов
/ 01 июля 2011

Запуск Sybase. Попытка увидеть все столбцы для всех моих таблиц с типом, длиной, именем столбца и именем таблицы. Это то, что я пытаюсь запустить:

select tbl.name as tablename, col.name as columnname, typ.name as columntype, col.length as size 
from syscolumns col, sysobjects tbl, systypes typ
where col.id = tbl.id
and col.type = typ.type
and tbl.type='U'

Я заметил в таблице systypes, что для каждого идентификатора типа существует более одного типа (например, идентификатор типа # 39 имеет более 50 записей, но мне нужен varchar). Мало того, что типы возвращаются неправильно, я получаю намного больше строк при исполнении, чем столбцы, которые существуют в моих таблицах.

1 Ответ

0 голосов
/ 02 мая 2018

незначительные изменения в вашем запросе

выберите tbl.name в качестве имени таблицы, col.name в качестве имени столбца, typ.name в качестве columntype, col.length в качестве размера из syscolumns col, sysobjects tbl, systypes typгде col.id = tbl.id и col.usertype = typ.usertype и tbl.type = 'U'

...