現在のデータベースにSQL Serverビューしかドロップできないのはなぜですか?


11

これに気づき、技術的な理由を考え出すのに苦労していました。

テーブルは3つのパーツ名を使用して削除できますが、ビューは2つのパーツ名に制限されています。

これの背後にある理由は何ですか?


1
これは、Sybaseからの分割前に戻ります。そこも同じです。DROP VIEWそしてDROP TABLE
マーティン・スミス

回答:


9

ドキュメントこれについては簡単なものであり、現在のデータベースのみが関連していることを示す(そして構文図を提供する)だけです。

現在のデータベースから1つ以上のビューを削除します。

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

デバッガに精通している誰かが、これが特定の種類のオブジェクトをドロップしたときにのみヒットするコードパスが原因であるかどうかを判断できます。または、Microsoftの担当者に依頼することもできます。理由にかかわらず、そして実際に理由を知っているかどうかにかかわらず、同じ回避策が必要です...

USE your_database;
GO
DROP VIEW dbo.viewname;

または:

EXEC your_database.sys.sp_executesql N'DROP VIEW dbo.viewname;';
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.