Test_Sp
この方法でデータを返すストアド プロシージャがあります。
Id Name Age Address State Country
1 ManiS 25 aaaa bbb ccc
このストアド プロシージャは 6 列のデータを返しますが、最初の 2 列のみを一時テーブルに挿入したいと考えています。
私の一時テーブル変数は次のとおりです。
Declare @testTbl Table (RowId int identity, Name nvarchar(100), Age int);
INSERT INTO @testTbl(Name,Age) EXEC [Test_Sp] 23;
Select * from @testTbl;
しかし、私はこのエラーが発生します:
メッセージ 50000、レベル 16、状態 0、プロシージャ Test_Sp、行 16
INSERT-EXEC ステートメント内で ROLLBACK ステートメントを使用することはできません。
Select * into
ストアドプロシージャの出力と同じ列を持つ一時テーブルを作成すると、それが機能することを認識しています..
私の質問: パラメータに基づいて、ストアド プロシージャの出力から一時テーブル変数に 2 つの列だけを挿入することは可能ですか?