Ver Mensaje Individual
  #8  
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:
update semaforos set calcular_stock = 0

-- insert de 6000 pedidos.

update semaforos set calcular_stock = 1
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
    -- Obtengo valor de semaforo
    select calcular_stock from semaforos
    into : calcular_stock;

    -- Calculo stock si el semaforo esta establecido
    if (calcular_stock = 1) then
    begin
        update stock ...
    end
end

Podría ser relativamente peligroso si el último UPDATE donde vuelves a poner el semáforo no se ejecuta por algún error.
Responder Con Cita