まず、タイプを作成する必要があります:
CREATE TYPE dbo.whatever AS TABLE ( Supp_Id int, Del_Methode_Id int, Ord_Amount int, Promo_Id int, Discount_Amount Money );
プレ>これで、ストアド プロシージャはこれを読み取り専用の入力パラメーターとして宣言できます。
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
プレ>ここでカーソルを使用する理由、またはカーソルが必要だと思う理由はわかりません。
ORDER BY
を追加できますINSERT...SELECT
の句 それが便利だと思う場合 (そして、順序付けに意味のあるものがある場合)、そうでなければ、本当にここにカーソルが必要な場合は、@datatable
に対して宣言できるはずです 他のテーブルと同じように。