hola buenas tardes amigos quisiera que me ayudaran a hacer que funciones este procedimiento almacenado que revisa si hay suficiente existencia en el inventario si no que le mande un error y le de rollback aqui como lo tengo
Código SQL:
Ver originalUSE [BD_FACTURACION]
GO
/****** Object: StoredProcedure [dbo].[sp_ingresar_detalle] Script Date: 24/07/2016 7:23:43 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[sp_ingresar_detalle]
@numProducto INT,
@Num_venta INT,
@cantidad INT,
@precio money
AS
BEGIN
BEGIN tran d
BEGIN try
DECLARE @cantidadi INT
SELECT @cantidadi=existencia FROM Inventario WHERE Num_producto=@numProducto
IF(@cantidadi>@cantidad)
BEGIN
INSERT INTO tblDetalleventa VALUES(@numProducto,@Num_venta,@cantidad,@precio)
UPDATE Inventario SET Existencia=@cantidadi-@cantidad WHERE Num_producto=@numProducto
END
ELSE
raiserror ('no hay suficiente inventario',16,1)
ROLLBACK TRAN d
END try
BEGIN catch
ROLLBACK TRAN d
END catch
END
muchas gracias de antemano estoy pegado con ese procedimiento