Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Znajdź, w których widokach (jeśli w ogóle) używane jest pole (używając zależności?)

Na Twoje pytanie

można by użyć widoku systemowego VIEW_COLUMN_USAGE w Twojej bazie danych. Utworzyłem ten widok

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

Korzystając z poniższego zapytania:

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

Otrzymałem ten wynik, który zawiera nazwę kolumny i tabeli

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

Dodaj klauzulę WHERE do zapytania, a powinieneś otrzymać odpowiedź.

Jeśli chcesz przyjrzeć się ograniczeniom, użyj widoku „[INFORMATION_SCHEMA].[CONSTRAINT_COLUMN_USAGE]”

Mój system to MSSS 2K8, twój system 2K5 powinien mieć te same widoki systemowe



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dlaczego nie można utworzyć globalnej tabeli tymczasowej lub obciąć jej podczas wywoływania procedury składowanej z kodu C#?

  2. Jak zmienić sortowanie bazy danych SQL Server za pomocą T-SQL

  3. Dziennik transakcji programu SQL Server, część 2:Architektura dziennika

  4. Zdobądź członków rodziny

  5. SqlConnection SqlCommand SqlDataReader IDisposable