Vậy thì tại sao chúng ta có thể gọi hàm mà không có tiền tố (lược đồ), được tạo dưới dbo?
Từ Sách Tài liệu trực tuyến trên UDF
Các hàm có giá trị vô hướng có thể được gọi trong đó các biểu thức vô hướng được sử dụng. Điều này bao gồm các cột được tính toán và các định nghĩa ràng buộc CHECK. Các hàm có giá trị vô hướng cũng có thể được thực thi bằng cách sử dụng câu lệnh EXECUTE. Các hàm có giá trị vô hướng phải được gọi bằng cách sử dụng ít nhất tên hai phần của hàm .
Vì vậy, đây về cơ bản là một hạn chế do nhóm phát triển SQL Server đặt ra và tôi cho rằng nó hoàn toàn chính xác. Ngay cả khi nó được cho phép bằng cách nào đó (chỉ vì mục đích trò chuyện) tôi vẫn sẽ sử dụng tiền tố Schema.
Tôi luôn hỗ trợ sử dụng tên lược đồ ngay cả khi nó hoạt động mà không cần thêm nó. Đây là cách thực hành tốt nhất và tất cả các nhà phát triển "Tốt" đều sử dụng nó cho dù nó có dư bao nhiêu.
Một lý do khác mà tôi thấy là, Cơ sở dữ liệu cần một cái gì đó để phân biệt giữa chức năng hệ thống và chức năng do getdate ()
người dùng xác định. Nếu bạn được phép gọi hàm mà không có tên lược đồ, thì công cụ cơ sở dữ liệu sẽ phân biệt giữa hàm do Người dùng tạo có tên Getdate hoặc hàm GETDATE () của hệ thống.