从在SQL Server 2008中的Sp内部调用的SP获取值

时间:2010-12-15 10:59:44

标签: sql sql-server-2008 stored-procedures

我有一个SP [A]正在调用另一个SP [B],它将是一个select查询,它返回一行包含很多列。如何获取第一个名为SP的特定列的值(即B)。有没有办法不使用哈希表?

1 个答案:

答案 0 :(得分:1)

您需要使用临时表将结果存储到其中,或者将SP [B]转换为表值函数,然后可以内联调用。

e.g。

CREATE FUNCTION dbo.FxnB(@Id INTEGER)
RETURNS TABLE
AS
RETURN
(
SELECT FieldA, FieldB, FieldC
FROM SomeTable
WHERE ID = @Id
)

-- Then use it like this
DECLARE @FieldA VARCHAR(50)
SELECT @FieldA = FieldA FROM dbo.FxnB(1)