ServerA にストアド プロシージャ SprocA が存在します。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