SQL更新多條數據


 

問題:有兩個不同的表,其中都有一個編號的字段,而且存儲的內容是相同的,需要將一張表中的另外一些字段依據編號去與另一個表中編號對應來更新到另一個表中。

方法:由於在sql中是不支持同時更新多條包含編號的數據的,所以當我們要更新多條數據的時候我們需要進行逐條的更新操作,這個時候我們需要用到游標。游標是只能在存儲過程中執行的,所以我們需要建立一個存儲過程

Create  PROCEDURE[dbo].[PP5_IN_Money]

AS

DECLARE

@t    varchar(50),

@in_Money decimal(18,2)

BEGIN

       DECLARE ttt_cusor CURSOR FOR

        select PUR_PAYMENT_REQ.Proposer_No,PUR_PAYMENT_REQ.IN_Moneyfrom PUR_PAYMENT_REQ,pur_paymentwhere PUR_PAYMENT_REQ.Proposer_No=pur_payment.REQ_NO

        --將搜到的數據放入到游標ttt_cusor  

        OPEN ttt_cusor

       FETCH NEXT FROM ttt_cusorINTO @t,@in_Money

       --讀取ttt_cusor游標中的第一條數據

       WHILE @@FETCH_STATUS=0

       BEGIN

       update pur_payment

       set pur_payment.IN_Money=@in_MoneyWHERE pur_payment.REQ_NO=@t

       FETCH NEXT FROM ttt_cusorINTO @t,@in_Money

       --讀取ttt_cusor游標中的下一條數據

       END   

       CLOSE ttt_cusor

       DEALLOCATE ttt_cusor


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM