View Single Post
  #2  
Old 06/06/2023
duilioisola's Avatar
[duilioisola] duilioisola is offline
Miembro Premium
 
Join Date: Aug 2007
Location: Barcelona, España
Posts: 1,806
Rep Power: 22
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:
Code:
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
Reply With Quote