【发布时间】:2012-07-16 14:08:06
【问题描述】:
我正在开发一个函数,该函数需要调用一个返回 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.
我知道这个错误通常是在试图操作不是函数本地的值时产生的,但是插入是在一个表变量上,所以这应该不是问题。
【问题讨论】:
标签: sql sql-server-2005 exec user-defined-functions table-variable