1

誰かがこれを手伝ってくれますか、1つのテーブル(テーブル:gl_acct_no)に5つの列があり、SQLでストアドプロシージャを使用して、コードを短くするためにループを使用したい、これが私のコードです:

        CREATE PROCEDURE [dbo].[sp_UpdateAccountNo]                    
    (                    
     @flag int                    
     ,@NEWAcctNo  nAcct_num_10                    
     ,@OLDAcctNo  nAcct_num_10                    
    )                    
    AS                    

     IF EXISTS(SELECT glmt_udAcct_no_old FROM gl_master WHERE glmt_udAcct_no = @NEWAcctNo)                    
      BEGIN                    
       return(1)                  
      END                    
     ELSE                    
      BEGIN                    
       if @flag = 0                
        BEGIN                    
         UPDATE gl_master                     
         SET glmt_udAcct_no_old = @OLDAcctNo                     
         WHERE glmt_udAcct_no = @OLDAcctNo                        
        END                     
       UPDATE gl_master                     
       SET glmt_udAcct_no = @NEWAcctNo                     
       WHERE glmt_udAcct_no_old = @OLDAcctNo

   UPDATE gl_acct_no         
   SET gl_acno_01 = @NEWAcctNo               
   WHERE gl_acno_01 = @OLDAcctNo       

   UPDATE gl_acct_no         
   SET gl_acno_02 = @NEWAcctNo               
   WHERE gl_acno_02 = @OLDAcctNo       

   UPDATE gl_acct_no         
   SET gl_acno_03 = @NEWAcctNo               
   WHERE gl_acno_03 = @OLDAcctNo       

   UPDATE gl_acct_no         
   SET gl_acno_04 = @NEWAcctNo               
   WHERE gl_acno_04 = @OLDAcctNo       

   UPDATE gl_acct_no         
   SET gl_acno_05 = @NEWAcctNo               
   WHERE gl_acno_05 = @OLDAcctNo

END

ストアド プロシージャでループを使用して UPDATE gl_acct_no_01 を 05 に更新したい.. pls はありがとうございました。

4

2 に答える 2