Выберите столбцы из набора результатов хранимой процедуры

У меня есть хранимая процедура, которая возвращает 80 столбцов и 300 строк. Я хочу написать выбор, который получает 2 из этих столбцов. Что-то вроде

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

Когда я использовал приведенный выше синтаксис, я получаю сообщение об ошибке:

«Неверное имя столбца».

Я знаю, что самым простым решением было бы изменить хранимую процедуру, но я ее не написал и не могу ее изменить.

Есть ли способ сделать то, что я хочу?

Я мог бы создать временную таблицу для размещения результатов, но поскольку там 80 столбцов, поэтому мне нужно было бы создать временную таблицу из 80 столбцов, чтобы получить 2 столбца. Я хотел избежать отслеживания всех возвращаемых столбцов.

Я пытался с помощьюWITH SprocResults AS .... как предложил Марк, но я получил 2 ошибки

Неверный синтаксис рядом с ключевым словом «EXEC».
Неверный синтаксис рядом с ')'.

Я попытался объявить переменную таблицы, и я получил следующую ошибку

Ошибка вставки: имя столбца или количество предоставленных значений не соответствует определению таблицы

Если я попробую
SELECT * FROM EXEC MyStoredProc 'param1', 'param2'
Я получаю ошибку:

Неверный синтаксис рядом с ключевым словом «exec».

Ответы на вопрос(16)

Ваш ответ на вопрос