簡単な答え:いいえ、それはできません。
ストアド プロシージャから返される列の正確な数を使用して、一時テーブルを事前に宣言する必要があります。
回避策は、永続テーブルを使用することです。たとえば、データベースに someSPResults という永続テーブルを作成できます。 someSP が異なる数の出力列を持つように変更されるたびに、展開の一部として someSPResults の形式を変更します。
その後、次のいずれかを行うことができます:
insert into dbo.someSPresults
exec someSP
または、someSP 内で、実行の通常の部分として結果を someSPresults テーブルに直接挿入することができます。 someSPresults テーブル内のどのレコードが someSP の各実行に由来するかを正確に特定する必要があるだけです。これは、ストアド プロシージャが同時に複数回起動され、大量のデータが someSPresults にダンプされる可能性があるためです。