Abyste toho dosáhli, budete muset udělat několik věcí, protože váš parametr získává více hodnot, musíte vytvořit typ tabulky a zajistit, aby vaše procedura obchodu akceptovala parametr tohoto typu.
Protože předáváte TABLE
jako parametr budete muset vytvořit TABLE TYPE něco následovně
TYP TABULKY
CREATE TYPE dbo.Prco_Table AS TABLE
(
[Val1] Data Type
[Val2] Data Type
)
GO
Uložená procedura pro přijetí tohoto parametru typu
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
PROVEĎTE PROC
Deklarujte proměnnou tohoto typu a naplňte ji svými hodnotami.
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