我有一个存储过程 SprocA 驻留在 ServerA 上。SprocA 接受 4 个参数,执行一个动态 sql 并返回一个包含 1 列(1 个整数值)的记录。我希望能够从 ServerB 上的函数 FnB 调用它,以便我可以在服务器 ServerB 上的存储过程 SprocB 中使用它来返回记录集。
例如,我想要这样的东西
Create Function FnB
@CustomerId int
,@PartId varchar(30)
,@DateFrom datetime
,@DateTo datetime
Returns int
As
Begin
Declare @Ret int
Exec @Ret = LnkSrv.DB_History.dbo.SprocA(@CustomerId, @PartId, @DateFrom, @DateTo)
Return @Ret
End --FnB
Create Procedure SprocB
@RowId int
As
Begin
Select Partid, FnB(Customerid, Partid, DateFrom, DateTo) As TotalQtyShipped
, AskedPrice, AskedQty, AppvPrice, AppvQty
From Tbl_Header a
Inner Join Tbl_Detail b On a.RowID = b.RowID
Where a.RowID = @RowId
End --SprocB
可能的结果:
PartID TotalQtyShipped AskedPrice AskedQty AppvPrice AppQty
pn1 1000 10 100 10 100
pn2 550 20 50 15 50
pn3 2000 5 2000 5 1500
请帮忙
TL