Først skal du oprette en type:
CREATE TYPE dbo.whatever AS TABLE
(
Supp_Id int,
Del_Methode_Id int,
Ord_Amount int,
Promo_Id int,
Discount_Amount Money
);
Nu kan din lagrede procedure erklære dette som en skrivebeskyttet inputparameter:
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
Hvorfor du vil bruge en markør her, eller tror du har brug for en, er jeg ikke sikker på. Du kan tilføje en ORDER BY
klausul til INSERT...SELECT
hvis du tror, det vil være nyttigt (og der er noget meningsfuldt at bestille efter), men ellers, hvis du virkelig vil have en markør her, burde du være i stand til at erklære en mod @datatable
ligesom du ville gøre for ethvert andet bord.