Ver Mensaje Individual
  #9  
Antiguo 06-06-2023
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Reputación: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Una tercera vía es utilizar semáforos o un campo que indique que no se desea calcular el stock.

Por ejemplo:
Código:
insert into cabecera_pedido(...) values(...);
insert into detalle_pedido(id_cabecera, articulo, unidades, ..., calcular_stock)
values(: id, : articulo, : unidades, ..., 0);
Y en los triggers o procedimientos que tocan el stock

Código SQL [-]
create trigger detalle_pedido_bi0 before insert
declare variable calcular_stock smallint;
begin
    -- Calculo stock si se desea
    if (new.calcular_stock = 1) then
    begin
        update stock ...
    end

    -- Fuerzo CALCULAR_STOCK por si en el futuro se retoca este registro
    new.calular_stock = 1;
end
Responder Con Cita