Código HTML:
CREATE TRIGGER dbo.TriggerPedidoAutomatico ON dbo.ProveedorSubFamilia AFTER UPDATE AS DECLARE @IdSubFamiliaModificada int, @StockActualCajas int, @StockActualUnidades int, @IdTipoPedidoAutomatico int, @IdProveedor int, @IdPedido int, @CantidadCajas int, @CantidadUnidades int, @TipoLote char(10) BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Insert statements for trigger here SELECT @IdSubFamiliaModificada = IdSubFamilia, @StockActualCajas = @StockActualCajas, @StockActualUnidades = @StockActualUnidades FROM updated u WHERE (StockActualCajas < StockMinimoCajas OR StockActualUnidades < StockMinimoUnidades); SELECT @TipoLote = TipoLote FROM dbo.SubFamilia WHERE IdSubFamilia = @IdSubFamiliaModificada; SELECT @IdTipoPedidoAutomatico = IdTipoPedidoAutomatico, @CantidadCajas = CantidadCajas, @CantidadUnidades = CantidadUnidades FROM dbo.TipoPedidoAutomatico WHERE Activado = True; IF @TipoLote = 'UNIDADES' BEGIN SET @CantidadCajas = 0; END ELSE BEGIN SET @CantidadUnidades = 0; END IF @TipoPedidoAutomatico = 1 BEGIN EXEC dbo.ObtenerProveedorQueMasSuministraSubFamilia @IdProveedor, @IdSubFamilia = @IdSubFamiliaModificada; SET @IdProveedorPedido = @IdProveedor; EXEC dbo.AltaPedidoAutomatico @IdPedido, @IdProveedor, @DNIEmpleado = 'AUTOMATIC', @FechaPedido = getdate(), @Pendiente = True; EXEC dbo.AltaLineaPedidoAutomatico @IdSubFamilia, @IdPedido, @CantidadCajas, @CantidadUnidades, @Pendiente = True; END IF @TipoPedidoAutomatico = 2 BEGIN EXEC dbo.ObtenerProveedorQueMasBaratoSuministraSubFamilia @IdProveedor, @IdSubFamilia = @IdSubFamiliaModificada; SET @IdProveedorPedido = @IdProveedor; EXEC dbo.AltaPedidoAutomatico @IdPedido, @IdProveedor, @DNIEmpleado = 'AUTOMATIC', @FechaPedido = getdate(), @Pendiente = True; EXEC dbo.AltaLineaPedidoAutomatico @IdSubFamilia, @IdPedido, @CantidadCajas, @CantidadUnidades, @Pendiente = True; END END GO