【发布时间】:2008-11-24 18:39:17
【问题描述】:
我可以查看一个命令或一组表来确定 SQL Server server 2005 中的哪些表、存储过程和视图具有特定的用户定义数据类型?
【问题讨论】:
标签: sql-server sql-server-2005
我可以查看一个命令或一组表来确定 SQL Server server 2005 中的哪些表、存储过程和视图具有特定的用户定义数据类型?
【问题讨论】:
标签: sql-server sql-server-2005
对于表和视图:
Select *
From Information_Schema.Columns
Where DOMAIN_NAME = 'YourUserDefinedTypeName'
对于过程和函数:
Select *
From Information_Schema.PARAMETERS
Where USER_DEFINED_TYPE_NAME = 'YourUserDefinedTypeName'
【讨论】:
表格相对简单,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'
【讨论】: