Mengapa Anda hanya bisa membuang tampilan SQL Server di database saat ini?

11

Hanya memperhatikan ini dan mengalami kesulitan memunculkan alasan teknis untuk itu.

Tabel dapat dihapus menggunakan tiga nama bagian, tetapi tampilan dibatasi untuk dua nama bagian.

Apa alasan di balik ini?

IronicMuffin
sumber
1
Ini kembali ke sebelum pemisahan dari Sybase. Itu sama di sana. DROP VIEWdanDROP TABLE
Martin Smith

Jawaban:

9

Dokumentasi sangat minim dalam hal ini, hanya menyatakan (dan memberikan diagram sintaksis) bahwa hanya database saat ini yang relevan.

Menghapus satu atau lebih tampilan dari database saat ini.

DROP VIEW [ IF EXISTS ] [ schema_name . ] view_name [ ...,n ] [ ; ]  

Seseorang yang fasih dalam debugger dapat menentukan apakah ini karena lintasan kode yang hanya mengenai ketika menjatuhkan objek jenis tertentu, atau Anda bisa bertanya kepada seseorang di Microsoft. Terlepas dari alasannya, dan apakah Anda benar-benar tahu alasannya, Anda masih membutuhkan solusi yang sama ... yang dapat Anda lakukan

USE your_database;
GO
DROP VIEW dbo.viewname;

Atau:

EXEC your_database.sys.sp_executesql N'DROP VIEW dbo.viewname;';
Aaron Bertrand
sumber