只能在函数内执行函数和一些扩展存储过程

时间:2017-03-15 13:42:59

标签: sql-server stored-procedures user-defined-functions table-valued-parameters

我在SQL Server 2016中创建了存储过程和用户​​定义表值函数。我能够成功编译过程和函数。

  

程序名称:getAgentLogActivity
  函数名称:sp_agent_log_activity

函数调用 getAgentLogActivity 过程以及 Exec sp_executesql 。因此,当我尝试在函数下面运行select查询时,我会收到错误。

  

错误:只能使用函数和一些扩展存储过程   从函数中执行。

SELECT * FROM [dbo].[sp_agent_log_activity] 
('2017-02-01 00:00:00','2017-02-01 23:59:59',0,'','','','')

存储过程和函数的完整代码可以在以下位置找到。

Stored Procedure and User Define Table Valued Function

为了给出代码背景,它是来自Cisco UCCX数据库的代码,它位于Informix中。我已将其转换为SQL Server。

如果有任何解决方法,请告诉我。

1 个答案:

答案 0 :(得分:1)

最简单的解决方法是将表值函数转换为存储过程。存储过程没有不能执行另一个存储过程的限制。