¿Y porque con un CURSOR?, seria el camino menos indicado, yo lo haria de 2 formas:
1.- Al momento de vender (registrar la venta), hago el descuento
2.- Registro las ventas y al final del dia, aplico la resta de lo vendido.
Código SQL:
Ver originalUPDATE STOCK SET CANTIDAD = CANTIDAD - VENDIDO
FROM
STOCK st
INNER JOIN (SELECT PRODUCTO, SUM(CANTIDAD) FROM VENTA WHERE Fecha = CONVERT(CHAR(6), GETDATE(), 112) GROUP BY PRODUCTO) AS vta
ON st.PRODUCTO = vta.PRODUCTO
Mi recomendacion, claro esta, la primera opcion.