Hola, si estas trabajando con sql server seria mas facil hacer un trigger. Dentro del trigger controlas que el stock no se vuelva negativo y en este caso de que ocurra cancelas la transaccion y lanzas una excepcion.
saludos. -----Original Message----- From: Rafael Copquin <rcopq...@fibertel.com.ar> To: "GUFA List Member" <GUFA@mug.org.ar> Date: Tue, 22 May 2012 14:17:42 -0300 Subject: [GUFA] OT - Una de SQL-Server > Yo haría un select asi > > select ventas.idproducto as pkventas,compras.idproducto as > pkcompras,ventas.cantidad,compras.cantidad, > ventas.cantidad - compras.cantidad as diferencia, > comprobacion = case when ventas.cantidad - compras.cantidad < 0 then > 'error' else 'ok' end > from ventas join compras > on ventas.idproducto=compras.idproducto > group by > ventas.idproducto,compras.idproducto,ventas.cantidad,compras.cantidad > > (o algo parecido) > > y luego, analizá el cursor resultante en el campo COMPROBACION > > Rafael Copquin > > > > El 22/05/2012 12:40 p.m., Rubén O. Rovira escribió: > > Hola a todos: > > > > Les invento un pequeño ejemplo como para ambientar la pregunta que > > viene luego. > > > > Tengo en SQL Server una tabla donde asiento *Compras* (IdProducto, > > Cantidad) > > y otra donde asiento *Ventas* (IdProducto, Cantidad) > > > > Crea una vista *vStock *donde totalizo por IdProducto las compras > > menos las ventas > > > > ACA VA LA "PREGUNTA": > > > > Mi idea es hacer que al guardar una Compra o una Venta, si la > Cantidad > > en la vista vStrock queda menor a cero que SQL mande un error. > > > > Se me ocurre ponerle triggers a las tablas de compras y ventas pero > > por ahí a alguno se le ocurre algo mas "centralizado" en la vista y > > que a mi ahora no se me viene a la cabeza... > > > > Espero haberme explicado claramente > > > > Saludos > > -- > > Rubén O. Rovira