1

ストア プロシージャの結果を使用してテーブルを更新する必要があるという要件があります。

例:

Declare @result1 decimal
Declare @price deciaml

Create Table #OrderDetails
{ 
    @orderID bigint
    ,@orderName nvarchar(9)
    ,@orderPrice decimal
    ,@orderFlag nchar(1)
}

Insert into #OrderDetails
{ 
    @orderID 
    ,@orderName 
    ,@orderPrice
    ,@orderFlag
} Select * from CartDetails


Update #OrderDetails
set @orderFlag = 1
from #OrderDetails
where orderID = 1

--Now update each row of #OrderDetails by calling a stored procedure
Update #OrderDetails
set @orderPrice= @result1
from (exec store_proc_calc_price orderID, orderName, @price = @result1 Output)

行ごとにストアド プロシージャを実行し、ストアド プロシージャの結果から#OrderDetails更新する@orderPrice方法はありますか?

4

1 に答える 1

0

はい、できます。テーブルのすべての行をループして各行のストアド プロシージャを呼び出すカーソルを作成する必要があります。ヘルプのカーソルの例を見てください。かなり簡単です...

于 2012-11-15T00:35:23.177 に答える