Как добавить подмножество полей из хранимой процедуры в табличную переменную?

Declare @tempTableVariable Table(
    email varchar(50)
)

Insert INTO @tempTableVariable 
EXEC GetData

select email
from @tempTableVariable

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

Есть ли простой способ получить подмножество из GetData без явного объявления всех полей в объявлении табличной переменной?

1 ответ

Если у вас нет контроля над GetData хранимая процедура, я не думаю, что есть какой-то способ обойти, объявляя все поля в вашей табличной переменной.

Если вы можете контролировать GetDataВы можете добавить к нему параметр, который при значении 1 будет возвращать результаты так, как вы хотите, а в противном случае будет делать то же, что и в настоящее время.

Я упомяну это для полноты картины, но кроме INSERT EXEC есть много других опций. http://www.sommarskog.se/share_data.html - отличное объяснение вариантов.

Другие вопросы по тегам