El código es SQL y
mamaro sugería que usaras triggers.
Si queres hacerlo desde delphi, podrías poner un componente TQuery (o el equivalente de la capa de acceso a datos que uses, por ejemplo TADOQuery si conectas con ADO) y poner en su propiedad SQL:
Código SQL
[-]
update articulo
set existencia = existencia + :delta
where IdArticulo = :id
Y ejecutarlo cada vez que te sea necesario con delphi así:
Código Delphi
[-]
procedure TdmInventario.ActualizaExistencias(AIDArticulo: Integer; ADelta: Double);
begin
qActualizaExistencia.ParamByName('id').AsInteger := AIDArticulo;
qActualizaExistencia.ParamByName('delta').AsFloat := ADelta;
qActualizaExistencia.ExecSQL;
end;
Algunas bibliotecas no publican un método ParamByName en el query directamente, sino dentro de su propiedad Params.
Hasta luego.