خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را
تفاوت بین sys.views و sys.system_views و sys.all_views در SQL Server
در این پست کوتاه بصورت اجمالی و کوتاه به تفاوت های سه View سیستمی sys.views و sys.all_views و sys.system_views خواهیم داشت.
این سه View، همه متادیتاهای مربوط به view ها در پایگاه داده را ارائه می دهند ، اما تفاوت آشکاری بین هر کدام از این View ها وجود دارد.
در ادامه مثالی را خواهید که تفاوت نتایج حاصل از این View ها را نشان می دهد.
خروجی اسکریپت فوق:
اگر نتایج دو کوئری اول را با هم ترکبی کنیم، همان خروجی sys.all_views را می گیریم:
خروجی کوئری فوق:
این سه View، همه متادیتاهای مربوط به view ها در پایگاه داده را ارائه می دهند ، اما تفاوت آشکاری بین هر کدام از این View ها وجود دارد.
sys.views
تمامی Viewهای تعریف شده توسط کاربر را برمی گرداند.sys.system_views
تمامی View های سیستمی در SQL Server را برمیگرداند.sys.all_views
بصورت ترکیبی از دو View سیستمی قبلی عمل می کند. این View همه View های ایجاد توسط کاربر و View های سیستمی را برمیگرداند.در ادامه مثالی را خواهید که تفاوت نتایج حاصل از این View ها را نشان می دهد.
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 |
+----------+
نمایش دیدگاه ها (0 دیدگاه)
دیدگاه خود را ثبت کنید: