Как извлечь схему базы данных с помощью T-SQL? - PullRequest
1 голос
/ 11 апреля 2011

Я бы хотел извлечь схему XML из базы данных («схему базы данных»), используя запрос T-SQL в SQL Management Studio, а не код C #.Схема должна включать все таблицы в базе данных.

Я могу получить одну таблицу, используя следующее:

DECLARE @schema xml
SET @schema = (SELECT * FROM Student FOR XML AUTO, ELEMENTS, XMLSCHEMA('StudentSchema'))
select @schema

Но как мне объединить оставшиеся таблицы?Все мои таблицы так или иначе связаны между собой.

См. Также этот вопрос , в котором рассматривается, как это сделать в коде.

Ответы [ 2 ]

4 голосов
/ 11 апреля 2011

Вы всегда можете использовать sp_msforeachtable и динамический sql:

exec sp_MSforeachtable '
DECLARE @schema xml
SET @schema = (SELECT * FROM ? FOR XML AUTO, ELEMENTS, XMLSCHEMA(''?Schema''))
select @schema
'

У вас может быть проблема с именованием схемы, поскольку я думаю, что у вас будет dbo. или префикс схемы к имени таблицы.

1 голос
/ 11 апреля 2011

Вы имеете в виду Представления информационной схемы (Transact-SQL)

SELECT * FROM INFORMATION_SCHEMA.COLUMNS
FOR XML AUTO
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...