Ver Mensaje Individual
  #10  
Antiguo 22-10-2020
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 947
Reputación: 25
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Estimado adjunto sugerencias para tu proceso de actualización:
Código SQL [-]
--Opción 1: Sentencia SQL
update productos
set precio1= precio1 / :Tasa_Old * :Tasa_New,
    precio2= precio2 / :Tasa_Old * :Tasa_New,
    precio3= precio3 / :Tasa_Old * :Tasa_New,
    precio4= precio4 / :Tasa_Old * :Tasa_New,
    precio5= precio5 / :Tasa_Old * :Tasa_New,
    precio6= precio6 / :Tasa_Old * :Tasa_New;


--Opción 2: Sentencia SQL con filtro 
update productos
set precio1= precio1 / :Tasa_Old * :Tasa_New,
    precio2= precio2 / :Tasa_Old * :Tasa_New,
    precio3= precio3 / :Tasa_Old * :Tasa_New,
    precio4= precio4 / :Tasa_Old * :Tasa_New,
    precio5= precio5 / :Tasa_Old * :Tasa_New,
    precio6= precio6 / :Tasa_Old * :Tasa_New
where id_linea=:linea;



--Opción 3: Procedimiento almacenado con parámetros
create or alter procedure spUpdatePrecios ( Linea smallint,
                                            Tasa_Old numeric(6,2),
                                            Tasa_New numeric(6,2) )
as
begin
     if (Linea is null) then
        update productos
        set precio1= precio1 / :Tasa_Old * :Tasa_New,
            precio2= precio2 / :Tasa_Old * :Tasa_New,
            precio3= precio3 / :Tasa_Old * :Tasa_New,
            precio4= precio4 / :Tasa_Old * :Tasa_New,
            precio5= precio5 / :Tasa_Old * :Tasa_New,
            precio6= precio6 / :Tasa_Old * :Tasa_New,
     else
        --Update restringido de acuerdo a Linea=?
        update productos
        set precio1= precio1 / :Tasa_Old * :Tasa_New,
            precio2= precio2 / :Tasa_Old * :Tasa_New,
            precio3= precio3 / :Tasa_Old * :Tasa_New,
            precio4= precio4 / :Tasa_Old * :Tasa_New,
            precio5= precio5 / :Tasa_Old * :Tasa_New,
            precio6= precio6 / :Tasa_Old * :Tasa_New
        where id_linea=:linea;

end

Saludos cordiales
Responder Con Cita