Нахождение зависимости типа данных сервера SQL Server - PullRequest
0 голосов
/ 24 ноября 2008

Есть ли команда или набор таблиц, на которые я могу посмотреть, чтобы определить, какие таблицы, хранимые процедуры и представления в SQL Server Server 2005 имеют определенный тип данных, определенный пользователем?

Ответы [ 2 ]

3 голосов
/ 24 ноября 2008

Для таблиц и представлений:

Select * 
From   Information_Schema.Columns 
Where  DOMAIN_NAME = 'YourUserDefinedTypeName'

Для процедур и функций:

Select * 
From   Information_Schema.PARAMETERS 
Where  USER_DEFINED_TYPE_NAME = 'YourUserDefinedTypeName'
1 голос
/ 24 ноября 2008

Таблицы относительно просты, sys.columns и sys.types позволяют связывать столбцы с типами. Запрос ниже получит это.

select s.name
      ,o.name
      ,c.name
      ,t.name
  from sys.schemas s
  join sys.objects o
    on o.schema_id = s.schema_id
  join sys.columns c
    on c.object_id = o.object_id
  join sys.types t
    on c.user_type_id = t.user_type_id
 where t.name = 'Foo'

РЕДАКТИРОВАТЬ: как G Mastros показал выше, вы можете получить параметры с похожим запросом.

select s.name
      ,o.name
      ,p.name
      ,t.name
  from sys.schemas s
  join sys.objects o
    on o.schema_id = s.schema_id
  join sys.parameters p
    on p.object_id = o.object_id
  join sys.types t
    on p.user_type_id = t.user_type_id
 where t.name = 'Foo'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...