10
votes

Liste des vues faisant référence à une table

Y a-t-il un moyen de savoir si une table particulière est référencée par des vues ou non.Je utilisé le code ci-dessous qui ne donne que SP et noms de fonction: xxx

aide !! !


0 commentaires

3 Réponses :


2
votes

Si vous avez besoin de trouver des objets de base de données (par exemple, des tables, des colonnes, des déclencheurs) par nom - Jetez un coup d'œil à l'outil GRATUIT RED-GATE appelé SQL Search qui fait-elle la recherche de votre base de données pour tout type de chaîne (s).

Entrez la description de l'image ici

 Entrez la description de l'image ici

C'est un excellent outil musqué pour tout développeur DBA ou de base de données - ai-je déjà mentionné qu'il est absolument libre < / forte> à utiliser pour tout type d'utilisation ??

Si cela ne correspond pas à votre facture - vous pouvez également consulter le SYSDePendes Vue du catalogue dans SQL Server - Il énumère ce que les objets dépendent de quoi (voir les détails dans les documents MSDN).

pour savoir quels objets dépendent d'une donnée Tableau, vous pouvez utiliser quelque chose comme: xxx

qui devrait vous donner une liste de tous les objets en fonction de cette table (ou de la vue ou tout ce que vous vérifiez)


0 commentaires

14
votes
select * 
from INFORMATION_SCHEMA.VIEWS 
where VIEW_DEFINITION like '%abc%'

1 commentaires

Méfiez-vous qu'il existe un nombre limité de caractères retourné pour chaque objet (rien de plus que la limite est tronquée), vous ne pouvez donc pas absolument dépendre de l'information_schema en toutes circonstances.



14
votes

Premièrement, votre requête donne des vues dans le jeu de résultats (je l'ai essayée sur adentureworks2012 -> Production.Product Table):

 Entrez la description de l'image ici p>

Si vous utilisez SQL Server 2008 ou plus, vous pouvez utiliser SYS.SQL_EXPRESSION_DePendances Vue du catalogue. Par exemple: P>

SELECT 
referencing_object_name = o.name, 
referencing_object_type_desc = o.type_desc, 
referenced_object_name = referenced_entity_name, 
referenced_object_type_desc = o1.type_desc 
FROM sys.sql_expression_dependencies sed 
INNER JOIN sys.objects o 
ON sed.referencing_id = o.[object_id] 
LEFT OUTER JOIN sys.objects o1 
ON sed.referenced_id = o1.[object_id] 
WHERE referenced_entity_name = 'YourTable'


0 commentaires