Выберите столбцы из набора результатов хранимой процедуры
У меня есть хранимая процедура, которая возвращает 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».