パラメータは複数の値を取得するため、テーブル タイプを作成し、ストア プロシージャがそのタイプのパラメータを受け入れるようにする必要があります。
TABLE
を渡しているので パラメータとして、次のように TABLE TYPE を作成する必要があります
テーブルの種類
CREATE TYPE dbo.Prco_Table AS TABLE
(
[Val1] Data Type
[Val2] Data Type
)
GO
その型パラメータを受け入れるストアド プロシージャ
CREATE PROCEDURE mainValues
@TableParam Prco_Table READONLY --<-- Accepts a parameter of that type
AS -- Note it is ReadOnly
BEGIN
SET NOCOUNT ON;
/* do your insert from this parameter or other cool stuff */
INSERT INTO Target_Table (Col1, Col2)
SELECT [Val1] , [Val2]
FROM @TableParam --<-- Table Type variable
END
EXECUTE PROC
その型の変数を宣言し、値を設定します。
DECLARE @Table ClaimData( --<-- Declare a variable of your type
[Val1] Data Type
[Val2] Data Type
);
-- Populate the variable
INSERT INTO @Table ([Val1],[Val2])
SELECT testdesc, testoption
FROM tableA
WHERE testoption = 1
EXECUTE mainValues @Table --<-- Pass this variable of Table Type