Tại sao bạn chỉ có thể thả chế độ xem SQL Server trong cơ sở dữ liệu hiện tại?


11

Chỉ cần nhận thấy điều này và đã có một thời gian khó khăn để đưa ra một lý do kỹ thuật cho nó.

Các bảng có thể được loại bỏ bằng ba tên phần, nhưng các khung nhìn bị giới hạn ở hai tên phần.

Lý do đằng sau này là gì?


1
Điều này quay trở lại trước khi tách khỏi Sybase. Ở đây cũng vậy. DROP VIEWDROP TABLE
Martin Smith

Câu trả lời:


9

Tài liệu này rất sài về điều này, chỉ nêu rõ (và cung cấp một sơ đồ cú pháp) mà chỉ có cơ sở dữ liệu hiện tại là có liên quan.

Xóa một hoặc nhiều khung nhìn khỏi cơ sở dữ liệu hiện tại.

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

Ai đó thông thạo trình gỡ lỗi có thể xác định xem đây có phải là do đường dẫn mã chỉ bị tấn công khi thả một số loại đối tượng nhất định hay bạn có thể hỏi ai đó tại Microsoft. Bất kể lý do là gì, và dù bạn có thực sự biết lý do hay không, bạn vẫn cần cách giải quyết tương tự ... bạn có thể làm

USE your_database;
GO
DROP VIEW dbo.viewname;

Hoặc là:

EXEC your_database.sys.sp_executesql N'DROP VIEW dbo.viewname;';
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.