Đây là một bình luận hơi dài.
SQL Server có một giải pháp thay thế cho các dạng xem là chức năng do người dùng xác định . Đặc biệt, bạn có thể có một UDF thực hiện tất cả những điều sau:
- Nó có các tham số.
- Nó trả về một bảng.
- Nó có nội dung giống như một khung nhìn (nghĩa là "mã" về cơ bản được chèn vào truy vấn, nhưng nó phức tạp hơn một chút).
Tôi nghĩ chúng là "chế độ xem được tham số hóa".
Đề xuất của tôi là bạn tạo một hàm nội tuyến có giá trị bảng do người dùng xác định để lấy các tham số mà bạn sẽ đặt trong WHERE
mệnh đề.
Cú pháp cơ bản trong trường hợp của bạn là:
CREATE FUNCTION ufn_sales_stats (
@compid int,
@target_date date
) RETURNS TABLE
AS
RETURN ( <your parameterized query here> );