Một giải pháp mà tôi sử dụng rất nhiều ...
Cung cấp danh sách các số của bạn dưới dạng VARCHAR(MAX)
dấu phẩy chuỗi được phân thức, sau đó sử dụng một trong nhiều dbo.fn_split()
các chức năng mà mọi người đã viết trên dòng.
Một trong số nhiều ví dụ trực tuyến ... SQL-User-Defined-Function-to-Parse-a-Delimited-Str
Các hàm này nhận một chuỗi làm tham số và trả về một bảng.
Sau đó, bạn có thể làm những việc như ...
INSERT INTO @temp SELECT * FROM dbo.split(@myList)
SELECT
*
FROM
myTable
INNER JOIN
dbo.split(@myList) AS list
ON list.id = myTable.id
Một cách thay thế là xem xét các Tham số có Giá trị Bảng. Những điều này cho phép bạn chuyển toàn bộ bảng vào một thủ tục được lưu trữ dưới dạng tham số. Làm thế nào phụ thuộc vào khuôn khổ bạn đang sử dụng. Bạn có đang sử dụng .NET, Java, Ruby, v.v. không và bạn đang giao tiếp với cơ sở dữ liệu như thế nào?
Khi chúng tôi biết thêm chi tiết về mã ứng dụng của bạn, chúng tôi có thể hiển thị cho bạn cả mã máy khách và mẫu thủ tục được lưu trữ SQL, để sử dụng các Tham số có Giá trị Bảng.