テーブル値パラメーターに関するメモを読み始めました
これらの TVP は、入力パラメーターおよび出力パラメーターとして使用できますか?
それらを出力パラメーターとして使用することに意味はありますか?
あるストアド プロシージャからの出力として TVP を取得し、それを別のストアド プロシージャにフィードすることは可能でしょうか?
最初の sproc を呼び出してから、最初の出力 TVP を使用して 2 番目の sproc を呼び出すスクリプトの構文は、ちょっとわかりません。
編集
私の投稿の混乱をお詫びします - 最初の手順の結果を TVP に入れる必要があるようです - TVP はその sproc に関与する必要があると思いました。したがって、私が話していたことのモデルは次のとおりです-うまくいけば、TVPの有効な使用...
CREATE TYPE myfirstTVP AS TABLE (id INT NOT NULL PRIMARY KEY);
GO --<<this sproc will find the ids (+ other fields) that need to be investigated
CREATE PROC test1 as
SELECT 1 UNION
SELECT 2 UNION
SELECT 3;
GO
GO --<<this sproc uses the found ids to do one aspect of the investigation
CREATE PROC test2
@t2 myfirstTVP READONLY
AS
SELECT id*2
FROM @t2;
GO
GO --<<this sproc uses the found ids to do another aspect of the investigation
CREATE PROC test3
@t4 myfirstTVP READONLY
AS
SELECT id*3
FROM @t4;
GO
--<<this is where the TVP is used and the sprocs are called
DECLARE @t3 myfirstTVP ;
INSERT INTO @t3
EXEC test1;
EXEC test2 @t3;
EXEC test3 @t3;