Ver Mensaje Individual
  #16  
Antiguo 25-10-2020
webmasterplc webmasterplc is offline
Miembro
 
Registrado: mar 2008
Posts: 277
Reputación: 19
webmasterplc Va por buen camino
Cita:
Empezado por cloayza Ver Mensaje
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
El procedimiento almacenado funciona, aunque debo hacerlo por sql porque es un modulo para una app de tercero y cuando actualicen las estructuras borran el procedimiento
Responder Con Cita