0

由于这不能像这样完成:

select * from (call my_stored_procedure(params));

上面的陈述有什么替代方案吗?

4

2 回答 2

1

一个过程可以返回多个结果集,每个结果集都有自己的模式。它不适合在 SELECT 语句中使用。

用户定义的函数可能是一个选项。这是一个例子:

CREATE FUNCTION CubicVolume
 -- Input dimensions in centimeters
 (@CubeLength decimal(4,1), @CubeWidth decimal(4,1),@CubeHeight decimal(4,1) )
  RETURNS decimal(12,3) -- Cubic Centimeters.
  AS
  BEGIN
   RETURN ( @CubeLength * @CubeWidth * @CubeHeight )
 END

更多关于这个链接:http: //msdn.microsoft.com/en-us/library/aa175085%28SQL.80%29.aspx

于 2013-03-21T09:08:53.637 回答
0

创建一个临时表变量并将 sp 值插入其中,例如:

Declare @t table
(
  --column numbers will be equals to the numbers return by SP
)
Insert Into @t
call my_stored_procedure(params)

Select * From @t
于 2013-03-21T09:10:05.567 回答