在select语句中,我调用一个函数,我应该在select语句的结果表中显示它的结果。在这个函数中,我需要重新创建(它只是实际检查是否有必要重新创建,然后它将在必要时重新创建)一个函数使用的表,我知道我不能在函数中这样做,所以我创建了用于重新创建表的存储过程。
我不能在select语句之前执行存储过程,因为我需要在每一行中执行此操作。因为表的内容可能需要每次都根据它的参数进行更改。
但是我知道我也不能在函数中执行存储过程因为这个错误Only functions and some extended stored procedures can be executed from within a function.
所以在最后的情况下,我需要在函数中执行存储过程以重新创建表或者我需要在函数中创建非临时表。我找不到任何解决方案。有没有解决办法以不同的方式做到这一点?
我想解释一下我在做什么细节。我上面提到的表格存储了一些工人的开始时间和结束时间列表。在函数中我使用这个时间信息并用它做一些事情。
但是在我的select语句中,我正在向函数发送一个时间参数,这个时间可能很旧,例如一个月前。一个月前,工人的开始和结束时间可能会有所不同。所以在这种情况下根据函数的时间参数我可能需要重新创建表。但我不能在函数中这样做,所以我在存储过程中执行它但我也不能在函数中执行此存储过程。而且我也无法在函数中创建表。