SSMS
 sql >> Cơ Sở Dữ Liệu >  >> Database Tools >> SSMS

Tại sao các tên bí danh giống với tên cột bị loại bỏ khi được lưu trữ dưới dạng một dạng xem?

Đ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 BYTOP 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.



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. SQL LocalDB - Không thể xóa một DB khi các tệp của nó bị xóa

  2. SQL Server Management Studio:Mở bảng để chỉnh sửa thông qua phím tắt

  3. Theo dõi các thay đổi trong cơ sở dữ liệu Microsoft SQL Server

  4. Làm cách nào để chuyển đổi các giá trị TIMESTAMP thành VARCHAR trong T-SQL như SSMS?

  5. Làm cách nào để tạo các thủ tục được lưu trữ CRUD từ một bảng trong SQL Server Management Studio