Получение списка таблиц и полей в каждой, в базе данных - PullRequest
65 голосов
/ 07 января 2009

Я смотрю на создание базового ORM (просто для удовольствия), и мне было интересно, есть ли способ вернуть список таблиц в базе данных, а также поля для каждой таблицы?

Используя это, я хочу иметь возможность циклически просматривать набор результатов (в C #) и затем говорить для каждой таблицы в наборе результатов, сделать это (например, использовать отражение, чтобы создать класс, который будет выполнять или содержать xyz).

В дополнение к этому, какие есть хорошие онлайн-блоги для SQL Server? Я знаю, что этот вопрос на самом деле касается использования системных SP и баз данных в Sql Server, и я в порядке с общими запросами, поэтому мне интересны некоторые блоги, в которых описывается такая функциональность.

Спасибо

Ответы [ 12 ]

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

Я нашел простой способ получить подробную информацию о таблицах и столбцах конкретной БД с помощью разработчика SQL.

Select *FROM USER_TAB_COLUMNS
0 голосов
/ 10 февраля 2016

Это вернет имя базы данных, имя таблицы, имя столбца и тип данных столбца, указанного параметром базы данных:

declare @database nvarchar(25)
set @database = ''

SELECT cu.table_catalog,cu.VIEW_SCHEMA, cu.VIEW_NAME, cu.TABLE_NAME,   
cu.COLUMN_NAME,c.DATA_TYPE,c.character_maximum_length
from INFORMATION_SCHEMA.VIEW_COLUMN_USAGE as cu
JOIN INFORMATION_SCHEMA.COLUMNS as c
on cu.TABLE_SCHEMA = c.TABLE_SCHEMA and c.TABLE_CATALOG = 
cu.TABLE_CATALOG
and c.TABLE_NAME = cu.TABLE_NAME
and c.COLUMN_NAME = cu.COLUMN_NAME
where cu.TABLE_CATALOG = @database
order by cu.view_name,c.COLUMN_NAME
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...