Sql*_*yan 3 t-sql sql-server stored-procedures temp-tables
在SQL Server中,无法从存储过程的结果中动态创建临时表,ala:
CREATE TABLE #temptable AS
EXEC spMyStoredProc
Run Code Online (Sandbox Code Playgroud)
要么
EXEC spMyStoredProc INTO #temptable
Run Code Online (Sandbox Code Playgroud)
或类似的东西.相反,您必须事先知道SP布局,并且必须执行以下操作:
CREATE TABLE #temptable (col1 INT, col2 VARCHAR(255))
INSERT INTO #temptable
EXEC spMyStoredProc
Run Code Online (Sandbox Code Playgroud)
是否存在功能性原因?可能是SQL Server的限制?或者它只是尚未添加到SQL规范中的东西,我可以抱有希望有一天它们会支持它吗?
pol*_*lot 10
存储过程可以返回许多结果集,也可以不返回任何结果集,并且它可以完全根据存储过程的执行而变化.
在编译时,它的元信息不会将其描述为具有任何特定的可预期结果集输出.
我希望考虑到这些限制,他们选择不实现这一点,因为缺乏对存储过程可能返回的强类型.