我在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。
如果有任何解决方法,请告诉我。
答案 0 :(得分:1)
最简单的解决方法是将表值函数转换为存储过程。存储过程没有不能执行另一个存储过程的限制。