Trước tiên, bạn cần tạo một loại:
CREATE TYPE dbo.whatever AS TABLE
(
Supp_Id int,
Del_Methode_Id int,
Ord_Amount int,
Promo_Id int,
Discount_Amount Money
);
Giờ đây, thủ tục được lưu trữ của bạn có thể khai báo đây là tham số đầu vào chỉ đọc:
CREATE PROCEDURE dbo.do_whatever
@datatable dbo.whatever READONLY
AS
BEGIN
SET NOCOUNT ON;
INSERT dbo.destination_table(column_list)
SELECT column_list FROM @datatable;
END
GO
Tại sao bạn muốn sử dụng con trỏ ở đây hoặc nghĩ rằng bạn cần một con trỏ, tôi không chắc. Bạn có thể thêm ORDER BY
mệnh đề INSERT...SELECT
nếu bạn nghĩ điều đó sẽ hữu ích (và có thứ gì đó có ý nghĩa để đặt hàng theo thứ tự), nhưng nếu không, nếu bạn thực sự muốn một con trỏ ở đây, bạn có thể khai báo một con trỏ chống lại @datatable
giống như cách bạn làm đối với bất kỳ bảng nào khác.