El problema se plantea de la siguiente manera.
Existe una tabla de productos. Y tiene varios campos, pero solo señalaré los que me interesan en la resolucion del problema.
Una tabla de productos tiene los campos.
Nombre de Producto (nombrep), Precio de Compra (preciocompra), y Precio de Venta.
La operación debería ser poder capaz de capturar "solo" el nombre del producto y el precio de compra, y automaticamente generar el precio de venta que sería igual a
Precio de compra + 15%.
El camino que imagine para resolverlo fue, que se insertarán los datos, y despues de que se hubieran insertado, actualizar el precio de venta.
Un trigger llama a un Stored Procedure.
Crear la BD y la tabla
Código MySQL:
Ver original
El Stored Procedure
Código MySQL:
Ver original
El Trigger
Código MySQL:
Ver original
DELIMITER $$ END$$ DELIMITER ;
Según yo, esto deberia funcionar, como estoy aquí, esto logicamente no funciona. Despues de ejecutar la consulta
Código MySQL:
Ver original
El error que arroja es el siguiente:
Código ErrorMySQL:
Ver original
Can't update table 'laprueba' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
También se que cuando se está insertando la tabla está bloqueada o algo así. Tengo nociones de lo que le sucede a la tabla. Pero honestamente no me interesa mucho, me interesa más como realizar esas acciones sin obtener el error, o alguna manera alternativa de hacerlo, pero igual usando stored y triggers.
¿Alguna idea?
Muchas gracias.