Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Trouver dans quelles vues (le cas échéant) un champ est utilisé (à l'aide de dépendances ?)

Pour votre question

on pourrait utiliser la vue système VIEW_COLUMN_USAGE dans votre base de données. J'ai créé cette vue

USE [ScratchPad]
GO
CREATE VIEW [dbo].[View_1]
AS
SELECT     second
FROM         dbo.deleteme
GO

En utilisant la requête ci-dessous :

SELECT TOP 1000 [VIEW_CATALOG]
      ,[VIEW_SCHEMA]
      ,[VIEW_NAME]
      ,[TABLE_CATALOG]
      ,[TABLE_SCHEMA]
      ,[TABLE_NAME]
      ,[COLUMN_NAME]
  FROM [ScratchPad].[INFORMATION_SCHEMA].[VIEW_COLUMN_USAGE]

J'ai reçu ce résultat qui inclut le nom de la colonne et de la table

## VIEW_CATALOG VIEW_SCHEMA VIEW_NAME   TABLE_CATALOG   TABLE_SCHEMA    TABLE_NAME  COLUMN_NAME
ScratchPad       dbo                      View_1     ScratchPad dbo          deleteme   second

Ajoutez une clause WHERE à la requête et vous devriez obtenir votre réponse.

Si vous souhaitez consulter les contraintes, utilisez la vue "[INFORMATION_SCHEMA].[CONSTRAINT_COLUMN_USAGE]"

Mon système est MSSS 2K8, votre système 2K5 devrait avoir les mêmes vues système