【发布时间】:2013-08-07 12:40:13
【问题描述】:
我在应用程序使用的 SQL 服务器中有一个现有视图。我需要加入从存储过程返回的表。存储过程做了很多事情,比如在返回结果之前插入多个#temp 表。
我尝试将存储过程转换为表值函数。但是插入到 TVF 内的临时表会导致编译错误。
有没有其他方法可以实现这一点。
谢谢
【问题讨论】:
-
好吧,您可以尝试先创建一个#temp 表,然后再创建
INSERT #t EXEC dbo.procedure;,但随后您可能会遇到嵌套插入/执行问题。你为什么不尝试在 TVF 中编写一个版本的过程不使用使用#temp tables> -
对不起,没有直接的方法。仅通过例如中间结构,如表变量或临时表
-
@AaronBertrand StoredProc 根据逻辑将中间结果存储在多个#temp 表中。如果不使用 TVF 中的#tempTable,如何做到这一点。有没有其他选择
-
当然,不要使用中间逻辑。没有看到逻辑就无法告诉你如何做到这一点。
标签: sql-server sql-server-2008 sql-server-2008-r2