Điều này là một chút dài cho một bình luận. Bạn nói:
nếu tên cột của bảng bên dưới thay đổi, người dùng chế độ xem sẽ không phải chỉnh sửa mã của họ
Điều đó đúng. Nếu tên cột bên dưới thay đổi, thì chế độ xem sẽ bị vô hiệu. Mã sẽ không hoạt động nữa. Bạn vẫn cần tạo lại chế độ xem.
Nếu bạn muốn đảm bảo tên cột, bạn có thể tạo chế độ xem rõ ràng với các tên cột:
Create view vBook1 (ISBN, Title) AS
SELECT ISBN, Title
FROM dbo.tBook;
Nói chung, tôi không phải là một người hâm mộ thực sự lớn của cách tiếp cận này - nó có thể tàn phá khi thêm hoặc sắp xếp lại tên cột cho chế độ xem. Nhưng bạn có thể đánh giá cao nó.
Lưu ý rằng tôi đã xóa ORDER BY
và TOP 100 PERCENT
. Đây là những thủ thuật để lấy ORDER BY
được chấp nhận bởi trình biên dịch SQL Server. Điều đó không có nghĩa là chế độ xem được đảm bảo theo bất kỳ thứ tự cụ thể nào.
Điều này được giải thích khá rõ ràng trong tài liệu :
Quan trọng
Mệnh đề ORDER BY chỉ được sử dụng để xác định các hàng được trả về bởi mệnh đề TOP hoặc OFFSET trong định nghĩa khung nhìn. Mệnh đề ORDER BY không đảm bảo kết quả theo thứ tự khi chế độ xem được truy vấn , trừ khi ORDER BY cũng được chỉ định trong chính truy vấn.