Như đã nói, bạn cần một số loại hàm tách để phân tích hiệu suất của các phương pháp khác nhau Chia chuỗi đúng cách - hoặc cách tốt nhất tiếp theo là một bài đọc xuất sắc. Khi bạn đã có chức năng của mình, bạn cần xác định tham số truy vấn của mình dưới dạng một chuỗi, thay vì một bảng:
Vì vậy, truy vấn của bạn thực sự sẽ trở thành:
DECLARE @pEmails TABLE (EmailAddress varchar(255));
INSERT @pEmails (EmailAddress)
SELECT Value
FROM dbo.Split(@pEmallString);
Sau đó, chuyển đến thuộc tính tập dữ liệu của bạn và thay vì chuyển tham số đa giá trị @pEmails
vào tập dữ liệu, thay vào đó hãy tạo một tập mới @pEmailString
và đặt giá trị dưới dạng một biểu thức, phải là:
=Join(Parameters!pEmails.Value, ",")
Điều này biến tham số nhiều giá trị của bạn thành một chuỗi được phân tách bằng dấu phẩy. Có vẻ như ngược lại, bạn cần phải chuyển đổi nó thành một chuỗi được phân tách, chỉ sau đó tách nó trong SQL, tiếc là tôi không biết cách nào tốt hơn.