Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Sugerencia] Sobre ejercicio

En mi caso no me coincidia el atributo 'FECHA_DE_NACIMIENTO' por eso lo modifique y no me realizaba 'UPDATE' por la restriccion por Default:

CREATE DEFINER=`root`@`localhost` PROCEDURE `calcula_edad`()
BEGIN
SET SQL_SAFE_UPDATES = 0;
UPDATE tb_cliente
SET EDAD =TIMESTAMPDIFF(YEAR, FECHA_NACIMIENTO, CURDATE());
SELECT NOMBRE, EDAD FROM tb_cliente;
SET SQL_SAFE_UPDATES = 1;
END

Imagen Workbench

1 respuesta

Hola Christian,

Entiendo que estás teniendo problemas con la actualización de la edad de los clientes en tu procedimiento almacenado. Parece que estás teniendo dificultades con el atributo 'FECHA_DE_NACIMIENTO' y la restricción por defecto al intentar realizar el UPDATE.

Una posible solución para tu problema sería asegurarte de que el nombre del atributo en tu tabla sea exactamente 'FECHA_DE_NACIMIENTO' para que coincida con el nombre que estás utilizando en tu procedimiento almacenado. Además, es importante asegurarse de que la tabla y el atributo existan en la base de datos.

Además, ten en cuenta que al modificar la configuración de SQL_SAFE_UPDATES, estás deshabilitando la restricción de actualizaciones inseguras. Esto puede ser peligroso si no se maneja con cuidado, ya que puede permitir actualizaciones sin cláusulas WHERE, lo que afectaría a todas las filas de la tabla. Asegúrate de entender completamente las implicaciones de deshabilitar esta configuración.

Espero que esta información te sea de ayuda para solucionar tu problema. ¡Buena suerte!

Espero haber ayudado y buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!