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

Różnica między sys.views, sys.system_views i sys.all_views w programie SQL Server

Trzy widoki katalogu systemowego w SQL Server obejmują sys.views , sys.system_views i sys.all_views .

Wszystkie te trzy widoki katalogu dostarczają metadane dotyczące widoków w bazie danych, ale istnieje subtelna różnica między każdym widokiem.

Oto, co każdy z nich robi:

sys.views
Zwraca wszystkie widoki zdefiniowane przez użytkownika.
sys.system_views
Zwraca wszystkie widoki systemowe dostarczone z SQL Server.
sys.all_views
Pokazuje wszystkie widoki zdefiniowane przez użytkownika i systemowe.

Innymi słowy, ostatni widok łączy wyniki dwóch poprzednich widoków (zwraca zarówno systemowe i widoki zdefiniowane przez użytkownika).

Przykład

Oto przykład, który pokazuje różnicę w wynikach zwracanych przez te widoki.

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;

Wynik:

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

Jeśli dodamy wyniki dwóch pierwszych zapytań razem, otrzymamy ten sam wynik, co sys.all_views :

USE Music;

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

Wynik:

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Instalowanie Ubuntu 18.04 dla SQL Server 2019 na maszynie wirtualnej przy użyciu VMware Workstation

  2. Zapytanie SQL do pobrania danych z ostatnich 3 miesięcy

  3. Maksymalny rozmiar zapytania SQL Server? Klauzula IN? Czy istnieje lepsze podejście?

  4. Jak uzyskać łączną sumę

  5. Migawki bazy danych programu SQL Server -1