Đây là di động nhất, cách xâm nhập tối thiểu:
select
count(*)
from
INFORMATION_SCHEMA.VIEWS
where
table_name = 'MyView'
and table_schema = 'MySchema'
Chỉnh sửa: Điều này không làm việc trên SQL Server và không yêu cầu bạn tham gia sys.schemas
để nhận giản đồ của chế độ xem. Điều này ít quan trọng hơn nếu mọi thứ là dbo
, nhưng nếu bạn đang sử dụng tốt các lược đồ, thì bạn nên ghi nhớ điều đó.
Mỗi RDBMS có cách kiểm tra siêu dữ liệu riêng của mình như thế này, nhưng information_schema
thực sự là ANSI, và tôi nghĩ Oracle và dường như SQLite là những cái duy nhất không hỗ trợ nó theo một cách nào đó.
Có thể bạn cũng muốn tham gia vào 'sys.schema' tại đây. – Eric
Lỗi Tên đối tượng không hợp lệ 'sys.views'. Tôi đã truy vấn chủ DB – Steam
Nếu bạn thấy điều này để quyết định giữa một TẠO và ALTER cho một lượt xem (như tôi đã làm), điều này không hoạt động cho VIEWs - bạn phải DROP VIEW * và sau đó TẠO nó. IF EXISTS vẫn hoạt động tốt cho DROPing VIEW tho, vì vậy cảm ơn! :) * Đừng quên bất kỳ quyền nào khi bạn làm. ;) – FrostbiteXIII