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

SQL Serverのsys.views、sys.system_views、およびsys.all_viewsの違い

    SQL Serverのシステムカタログビューの3つには、sys.viewsが含まれます。 、sys.system_views 、およびsys.all_views

    これらの3つのカタログビューはすべて、データベース内のビューに関するメタデータを提供しますが、各ビューには微妙な違いがあります。

    それぞれの機能は次のとおりです。

    sys.views
    すべてのユーザー定義ビューを返します。
    sys.system_views
    SQLServerに付属しているすべてのシステムビューを返します。
    sys.all_views
    すべてのユーザー定義ビューとシステムビューを表示します。

    つまり、最後のビューは前の2つのビューの結果を組み合わせたものです(システムの両方を返します。 ユーザー定義のビュー)。

    これらのビューによって返される結果の違いを示す例を次に示します。

    USE Music;
    
    SELECT COUNT(*) AS [User Defined]
    FROM sys.views;
    
    SELECT COUNT(*) AS [System]
    FROM sys.system_views;
    
    SELECT COUNT(*) AS [All Views]
    FROM sys.all_views;
    

    結果:

    +----------------+
    | User Defined   |
    |----------------|
    | 3              |
    +----------------+
    (1 row affected)
    +----------+
    | System   |
    |----------|
    | 494      |
    +----------+
    (1 row affected)
    +-------------+
    | All Views   |
    |-------------|
    | 497         |
    +-------------+
    (1 row affected)
    

    最初の2つのクエリの結果を合計すると、sys.all_viewsと同じ結果が得られます。 :

    USE Music;
    
    SELECT 
    (SELECT COUNT(*) FROM sys.views) +
    (SELECT COUNT(*) FROM sys.system_views)
    AS Result;
    

    結果:

    +----------+
    | Result   |
    |----------|
    | 497      |
    +----------+
    

    1. Oracleの日時値からタイムゾーンを返す3つの方法

    2. pipを使用した特定のパッケージバージョンのインストール

    3. データベースとは何ですか、なぜデータベースなのですか?

    4. MySQL-length()とchar_length()