Мне нужно создать словарь данных из всех пользовательских таблиц в базе данных sybase ase. Я не могу установить такие инструменты, как Sybase PowerDesigner, поэтому мне нужно сделать это возможным с помощью SQL-запросов.
Я составил этот запрос, воспользовавшись помощью форумов, чтобы показать имя таблицы, имя столбца, тип данных, размер и ненулевое ограничение. Но я не могу определить, является ли столбец первичным ключом или нет, или является частью кластеризованного первичного ключа.
SELECT O.name as "Table",
C.name as "Column",
C.length as "Length",
T.name as "Datatype",
C.status as "Allow Null",
CASE C.status
WHEN 8 THEN 'NULL'
WHEN 0 THEN 'NOT NULL'
END as "NULLS"
FROM sysobjects O,
syscolumns C,
systypes T
WHERE O.id = C.id
AND O.type = "U" -- user tables only
AND C.usertype = T.usertype
ORDER BY O.name, C.colid
Может ли кто-нибудь здесь помочь мне выполнить необходимое соединение с необходимыми таблицами, чтобы получить требуемый флаг, указывающий его статус первичного ключа. Я уже прошел через системные ключи и sysindexes, но я не могу найти, какой статус был бы полезен для моей цели.
ddlgen
? - person Michael Gardner   schedule 30.01.2015