Я работаю над функцией, которая должна вызывать хранимую процедуру, которая возвращает N строк, а затем вставляет результат во временную таблицу как часть ее обработки.
Вызов EXEC для хранимой процедуры работает нормально: http://sqlfiddle.com/#!3/ed11a/16
Так почему же вставка результатов EXEC в табличную переменную вызывает ошибку: http://sqlfiddle.com/#!3/ed11a/18
Я получаю сообщение об ошибке: Invalid use of side-effecting or time-dependent operator in 'INSERT EXEC' within a function.
Я понимаю, что эта ошибка обычно генерируется при попытке манипулировать значениями, которые не являются локальными для функции, но вставка выполняется в табличную переменную, поэтому это не должно быть проблемой.