Selecionar colunas do conjunto de resultados do procedimento armazenado

Eu tenho um procedimento armazenado que retorna 80 colunas e 300 linhas. Eu quero escrever um select que recebe 2 dessas colunas. Algo como

SELECT col1, col2 FROM EXEC MyStoredProc 'param1', 'param2'

Quando usei a sintaxe acima, recebo o erro:

"Nome da coluna inválido".

Eu sei que a solução mais fácil seria alterar o procedimento armazenado, mas não o escrevi e não posso alterá-lo.

Existe alguma maneira de fazer o que eu quero?

Eu poderia criar uma tabela temporária para colocar os resultados, mas como existem 80 colunas, seria necessário criar uma tabela temporária de 80 colunas apenas para obter 2 colunas. Eu queria evitar rastrear todas as colunas retornadas.

Eu tentei usarWITH SprocResults AS .... como sugerido por Mark, mas recebi 2 erros

Sintaxe incorreta perto da palavra-chave 'EXEC'.
Sintaxe incorreta perto de ')'.

Tentei declarar uma variável de tabela e recebi o seguinte erro

Erro de inserção: o nome da coluna ou o número de valores fornecidos não corresponde à definição da tabela

Se eu tentar
SELECT * FROM EXEC MyStoredProc 'param1', 'param2'
Eu recebo o erro:

Sintaxe incorreta perto da palavra-chave 'exec'.

questionAnswers(16)

yourAnswerToTheQuestion