sql >> データベース >  >> RDS >> Sqlserver

フィールドが使用されているビュー (存在する場合) を検索します (依存関係を使用しますか?)

    ご質問について

    データベースでシステム ビュー VIEW_COLUMN_USAGE を使用できます。このビューを作成しました

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

    以下のクエリを使用:

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

    列とテーブル名を含むこの結果を受け取りました

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

    クエリに WHERE 句を追加すると、答えが得られます。

    制約を確認したい場合は、ビュー "[INFORMATION_SCHEMA].[CONSTRAINT_COLUMN_USAGE]" を使用してください

    私のシステムは MSSS 2K8 です。2K5 システムには同じシステム ビューが必要です



    1. SQLクエリを使用したコンマ区切り値

    2. SQLiteで毎月第1月曜日を返す

    3. ユーザー名がデータベースMySQLPHPにすでに存在するかどうかを確認します

    4. Oracleは空の文字列をNULLと見なしますが、SQL Serverはそうではありません-これはどのように最適に処理されますか?