0

内执行我已存储过程和SQL Server 2016中创建用户定义的表值函数,我能够编译两个程序和函数成功。只有函数和某些扩展存储过程可以从功能

Procedure Name: getAgentLogActivity
Function Name: sp_agent_log_activity

功能被调用过程getAgentLogActivity以及Exec的sp_executesql的。所以,当我尝试运行下面的功能选择查询时,我得到一个错误。

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

为了让上的代码背景,它是从思科UCCX数据库是Informix中的代码。我已将其转换为SQL Server。

请让我知道是否有任何周围工作的错误。

+0

没有人会去从GitHub下载代码。但是你不能在功能上做你想做的事情。你可以在存储过程中完成,但函数不允许调用过程并执行动态SQL。 –

+0

@SeanLange说了些什么。此外,看一看已经问(回答)问题:http://stackoverflow.com/questions/6344880/execute-stored-procedure-from-a-function –

+0

好吧,我不要求任何人都可以下载代码。它只是它的一个非常大的程序和函数100行代码,所以我把它保留在那里。 –

回答

1

最简单的解决方法是把你的表值函数到一个存储过程。存储过程没有限制无法执行另一个存储过程。