От Базы данных Sybase, как я могу получить описание таблицы (имена полей и типы)?

Используйте Отступ JavaScript: индентер Javascript (отступ HTML включен) Preston Koprivica. Спасибо за предостережение от oligofren - дают ему-голосование.

25
задан Robert 26 May 2015 в 12:31
поделиться

5 ответов

Проверить sysobjects и syscolumns таблицы.

Здесь диаграмма системных таблиц Sybase.

Список всех пользователей таблицы:

SELECT * FROM sysobjects WHERE type = 'U'

Вы можете заменить 'U' на другие объекты:

  • C - вычисляемый столбец
  • D - по умолчанию
  • F - функция SQLJ
  • L - журнал
  • N - условие раздела
  • P - процедура Transact-SQL или SQLJ
  • PR - подготовка объектов (созданных динамическим SQL)
  • R - правило
  • RI - ссылочное ограничение
  • S - системная таблица
  • TR - триггер
  • U - таблица пользователей
  • V - просмотр
  • XP - расширенная хранимая процедура

Список столбцов в таблице:

SELECT sc.* 
FROM syscolumns sc
INNER JOIN sysobjects so ON sc.id = so.id
WHERE so.name = 'my_table_name'
60
ответ дан 28 November 2019 в 17:37
поделиться

Если Sybase совместима с SQL-92, эта информация хранится в таблицах INFORMATION_SCHEMA.

Таким образом, следующее даст вам список таблиц и представлений в любой базе данных, совместимой с SQL-92

SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
-1
ответ дан 28 November 2019 в 17:37
поделиться

sp_help - это то, что вы ищете.

Из онлайн-документации Sybase по системной процедуре sp_help :

Описание

Сообщает информацию об объекте базы данных (любом объекте, указанном в sysobjects), а также о системных или определяемых пользователем типах данных. как вычисляемые столбцы и индексы на основе функций. В столбце отображается optimistic_index_lock .

Синтаксис

sp_help [objname]

[...]

Вот (частичный) вывод для таблицы издателей (вставлен из Использование sp_help для объектов базы данных ):

Name               Owner        Object_type     Create_date 
----------------   -----------  -------------   ------------------------------
publishers         dbo          user table      Nov 9 2004 9:57AM

(1 row affected)
Column_name Type     Length   Prec  Scale   Nulls   Default_name   Rule_name
----------- -------  ------   ----- ------- ------- -------------- ---------- 
pub_id      char          4    NULL  NULL        0  NULL           pub_idrule
pub_name    varchar      40    NULL  NULL        1  NULL           NULL
city        varchar      20    NULL  NULL        1  NULL           NULL
state       char          2    NULL  NULL        1  NULL           NULL
Access_Rule_name    Computed_Column_object     Identity
------------------- -------------------------  ------------
NULL                NULL                                  0
NULL                NULL                                  0
NULL                NULL                                  0
NULL                NULL                                  0

Все еще цитируется Использование sp_help в базе данных objects :

Если вы выполняете процедуру sp_help без указания имени объекта, в итоговом отчете будет показан каждый объект в sysobjects вместе с его именем, владельцем и типом объекта. Также показан каждый определяемый пользователем тип данных в systypes и его имя, тип хранения, длина, разрешены ли нулевые значения, а также любые значения по умолчанию или связанные с ним правила. В отчете также отмечается, были ли определены столбцы первичного или внешнего ключа для таблицы или представления.

46
ответ дан 28 November 2019 в 17:37
поделиться

Если вы хотите использовать программу командной строки, но не ограничены использованием SQL, вы можете использовать SchemaCrawler . SchemaCrawler имеет открытый исходный код и может создавать файлы в формате простого текста, CSV или (X) HTML.

0
ответ дан 28 November 2019 в 17:37
поделиться

sp_tables также будет работать в isql. Она выдает список таблиц в текущей базе данных.

1
ответ дан 28 November 2019 в 17:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: