Pertama, Anda perlu membuat tipe:
CREATE TYPE dbo.whatever AS TABLE
(
Supp_Id int,
Del_Methode_Id int,
Ord_Amount int,
Promo_Id int,
Discount_Amount Money
);
Sekarang prosedur tersimpan Anda dapat mendeklarasikan ini sebagai parameter input hanya baca:
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
Mengapa Anda ingin menggunakan kursor di sini, atau berpikir Anda membutuhkannya, saya tidak yakin. Anda dapat menambahkan ORDER BY
klausa ke INSERT...SELECT
jika menurut Anda itu akan berguna (dan ada sesuatu yang berarti untuk dipesan), tetapi sebaliknya jika Anda benar-benar menginginkan kursor di sini, Anda harus dapat mendeklarasikannya terhadap @datatable
seperti yang Anda lakukan untuk tabel lainnya.