Existe-t-il une commande ou un ensemble de tables permettant de déterminer quels tables, procédures stockées et vues dans SQL Server 2005 ont un certain type de données défini par l'utilisateur?Recherche d'une dépendance d'un type de données SQL Server
0
A
Répondre
1
Les tables sont relativement faciles, sys.columns et sys.types vous permettent de lier des colonnes à des types. La requête ci-dessous va l'obtenir.
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'
EDIT: comme G Mastros l'a montré ci-dessus, vous pouvez obtenir des paramètres avec une requête similaire.
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'
3
Pour les tables et vues:
Select *
From Information_Schema.Columns
Where DOMAIN_NAME = 'YourUserDefinedTypeName'
Pour connaître les procédures et fonctions:
Select *
From Information_Schema.PARAMETERS
Where USER_DEFINED_TYPE_NAME = 'YourUserDefinedTypeName'
2e a travaillé pour le type de table défini par l'utilisateur –