只能从函数内执行函数和一些扩展存储过程
Only functions and some extended stored procedures can be executed from within a function
我在 SQL Server 2016 中创建了存储过程和用户定义的 Table 值函数。我能够成功编译过程和函数。
Procedure Name: getAgentLogActivity
Function Name: sp_agent_log_activity
函数正在调用过程 getAgentLogActivity 以及 Exec sp_executesql。因此,当我尝试 运行 下面 select 查询函数时,我得到一个错误。
Error: Only functions and some extended stored procedures can be
executed from within a function.
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
为了提供代码背景,它是来自 Informix 中的 Cisco UCCX 数据库的代码。我已将其转换为 SQL 服务器。
如果有解决该错误的方法,请告诉我。
最简单的解决方法是将 Table 值函数转换为存储过程。存储过程没有不能执行另一个存储过程的限制。
我在 SQL Server 2016 中创建了存储过程和用户定义的 Table 值函数。我能够成功编译过程和函数。
Procedure Name: getAgentLogActivity
Function Name: sp_agent_log_activity
函数正在调用过程 getAgentLogActivity 以及 Exec sp_executesql。因此,当我尝试 运行 下面 select 查询函数时,我得到一个错误。
Error: Only functions and some extended stored procedures can be executed from within a function.
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
为了提供代码背景,它是来自 Informix 中的 Cisco UCCX 数据库的代码。我已将其转换为 SQL 服务器。
如果有解决该错误的方法,请告诉我。
最简单的解决方法是将 Table 值函数转换为存储过程。存储过程没有不能执行另一个存储过程的限制。