0

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

4

2 に答える 2