Uso transacciones para gestionar el inventario de un almacen(salidas, entradas, traspasos), en el caso de salidas:
1. Inserto los datos de la salida
2. Actualizo el inventario de cada producto que sale
3. Inserto los productos en la tabla salidaproductos usando como id un MAX a la tabla salida
Yo se que se envia todo el paquete y se hacen seguidos, pero mi pregunta es; que tal si despues(aunque sea por faraccion de segundos) de insertar la salida alguien mas inserta otra salida y al hacer el max para grabar los productos me devuelva el ID del que se grabo despues y no el que yo grabe en la transaccion.
Yo tengo la idea de que en las transacciones se hace todo en un conjunto y como si fuera una operacion, por lo que las demas operaciones, digamos una segunda insercion a salida, se mantienen en una especie de buffer o cola de espera. Asi que al Hacer el max dentro de la transaccion me devolvera el ID del que acabo de insertar. ¿Estoy bien?