CREATE OR ALTER PROCEDURE sp_StokFiyat_Fiyat_FiyatH   
AS      
begin      
 declare @i int,@sorgu nvarchar(max),@cnt nvarchar(2)      
 set @i = 1;      
    while @i <= 20       
 begin      
   SET @cnt = CAST(@i as varchar(2));      
   SET @sorgu = ' UPDATE StokFiyat SET  F'+@cnt+'FiyatH = CASE WHEN F'+@cnt+'Kdv = ''H'' THEN F'+@cnt+'Fiyat ELSE (F'+@cnt+'Fiyat/(100 + SatisKdv)*100) END';      
   -- print @sorgu      
   EXEC sp_executesql @sorgu;      
   SET @i += 1;      
    end;      
      
 UPDATE sk SET sk.F1Fiyat  = sf.F1Fiyat, sk.F1DovizKodu = sf.F1DovizKodu,  sk.F1Kdv = sf.F1Kdv,    
       sk.F2Fiyat  = sf.F2Fiyat, sk.F2DovizKodu = sf.F2DovizKodu,  sk.F2Kdv = sf.F2Kdv,   
       sk.F3Fiyat  = sf.F3Fiyat, sk.F3DovizKodu = sf.F3DovizKodu,  sk.F3Kdv = sf.F3Kdv,   
       sk.F4Fiyat  = sf.F4Fiyat, sk.F4DovizKodu = sf.F4DovizKodu,  sk.F4Kdv = sf.F4Kdv  
     FROM  STOKKARTI sk,StokFiyat sf WHERE sk.Kodu = sf.Kodu       
end;  