Hola a todos, cree el siguiente procedimiento almacenado para actualizar el campo "cantid" de la tabla "ARTICULOS", una vez que guardo mi
factura, recorro la tabla de detalles "DETFAC" y la idea es ir actualizando el stock de caja articulo según el campo "codart", el campo "stock" es al numero de stock que debe ir.
Lo que hace es que siempre me descuenta 2 veces de la linea de stock = '1'. No se que estoy haciendo mal.
Muchas Gracias!
Código SQL
[-]CREATE PROCEDURE SP_ACTUSTOCK_FCV_SUMA(
IDFACVTA INTEGER)
AS
DECLARE VARIABLE CODART VARCHAR(15);
DECLARE VARIABLE CANTID NUMERIC(18, 2);
DECLARE VARIABLE STOCK VARCHAR(1);
BEGIN
for select stock,codart,cantid
from DETFAC
where idfacvta = :idfacvta
into :Stock, :Codart, :Cantid do
if stock = '1' then
update ARTICULO set cantid = cantid + :cantid where codart = :codart;
if stock = '2' then
update ARTICULO set canti2 = canti2 + :cantid where codart = :codart;
SUSPEND;
END^