Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Разлика между sys.views, sys.system_views и sys.all_views в SQL Server

Три от изгледите на системния каталог в SQL Server включват sys.views , sys.system_views и sys.all_views .

Всички тези три каталожни изгледа предоставят метаданни за изгледи в базата данни, но има фина разлика между всеки изглед.

Ето какво прави всеки от тях:

sys.views
Връща всички потребителски дефинирани изгледи.
sys.system_views
Връща всички системни изгледи, доставени със SQL Server.
sys.all_views
Показва всички потребителски и системни изгледи.

С други думи, последният изглед комбинира резултатите от предишните два изгледа (връща както системни и потребителски дефинирани изгледи).

Пример

Ето пример, който демонстрира разликата в резултатите, върнати от тези изгледи.

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)

Ако добавим резултатите от първите две заявки заедно, получаваме същия резултат като sys.all_views :

USE Music;

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

Резултат:

+----------+
| 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. JDBC SQLServerException:Този драйвер не е конфигуриран за интегрирано удостоверяване.

  2. 3 начина за преобразуване на цяло число в десетично число в SQL Server

  3. Как да получите дата във формат ГГГГ-ММ-ДД от TSQL поле за дата и час?

  4. Създайте обвързан изглед към схема в SQL Server

  5. Има ли комбинация от LIKE и IN в SQL?