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