프로시저에서 임시테이블을 만들어서 특정테이블의 컬럼을 update하려 합니다.
프로시저를 아래와 같이 작성했는데, update 쿼리가 실행되지 않아서 질문드립니다.
프로시저를 어떻게 작성해야 하는 건가요?
업데이트 쿼리 : update Prod_stock set Rstock001 = Rstock001 + sum(Qty) where itmcd = p_code
                     Str_code는 varchar(3)이고, 001,002,003..., Rstock001은 integer 형식입니다. 
                     P_code는 numeric, itmcd도 numeric입니다.
업데이트 관련 쿼리 : Select Str_code, P_code, Sum(Qty) From Ven_dt 
                            where S_date between @Bday AND @Aday  Group by Str_code, P_code

alter PROC usp_Ven_Dt   
AS     
Begin       
    Declare      
    @Dayvalue varchar(8), 
    @Aday varchar(8), 
    @Bday varchar(8), 
    @query NVARCHAR(MAX) 
 
    Select @Dayvalue = CONVERT(VARCHAR, GETDATE(), 112)        
    set @Aday = convert(varchar(8), dateadd(day, 1, @Dayvalue), 112)  --내일  
    set @Bday = convert(varchar(8), dateadd(day, -1, @Dayvalue), 112) --어제   

    SELECT ' UPDATE Prod_stock SET Rstock'+Str_code+' = Rstock'+Str_code+' + ' + CONVERT(NVARCHAR, SUM(Qty)) +   
           ' WHERE itmcd = ''' + P_code + '' AS query INTO #temp
    FROM Ven_Dt WHERE S_date BETWEEN @Bday AND @Aday 
    GROUP BY Str_code, P_code    

    WHILE EXISTS(SELECT 1 FROM #temp)    
    BEGIN    
      SELECT TOP 1 @query = query FROM #temp
      EXEC (@query)   
      DELETE FROM #temp WHERE query = @query  
    END    
    DROP TABLE #temp    

    Delete From Ven_Dt where S_date between @Bday and @Aday