我正在开发一个函数,该函数需要调用一个返回 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.
我知道这个错误通常是在试图操作不是函数本地的值时产生的,但是插入是在一个表变量上,所以这不应该是一个问题。