2
respuestas

al hacer el call me da este error

DELIMITER $$ CREATE PROCEDURE reajuste_comision(vporcentaje FLOAT) BEGIN UPDATE tabla_de_vendedores SET PORCENTAJE_COMISION = PORCENTAJE_COMISION * (1 + vporcentaje); END $$

CALL reajuste_comision;

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

2 respuestas

¡Hola Araceli!

El error que estás enfrentando está relacionado con el uso incorrecto de delimitadores en tu código SQL. El código que estás intentando ejecutar parece estar destinado a trabajar con un motor de base de datos que admite el uso de delimitadores diferentes al punto y coma (";") y, probablemente, estás ejecutándolo en un motor que no lo permite.

El error "error code: 1705" se refiere a un problema con el delimitador utilizado en tu procedimiento almacenado, mientras que el "error code: 1305" indica que el procedimiento no existe.

Para solucionar estos errores, sigue estos pasos:

Asegúrate de que estás utilizando un motor de base de datos que admita la notación de delimitador "$$" para definir procedimientos almacenados.

Antes de crear el procedimiento almacenado, establece el delimitador en "$$" para que el motor interprete correctamente el cuerpo del procedimiento. Puedes hacerlo con el siguiente comando:

DELIMITER $$

Después de definir el procedimiento almacenado, restaura el delimitador predeterminado (que generalmente es el punto y coma ";") usando el siguiente comando:

DELIMITER ;

Asegúrate de que el procedimiento almacenado exista antes de llamarlo. Puedes verificar su existencia en la base de datos antes de hacer la llamada. Finalmente, tu código debería verse así:

DELIMITER $$

CREATE PROCEDURE reajuste_comision(vporcentaje FLOAT)
BEGIN
    UPDATE tabla_de_vendedores
    SET PORCENTAJE_COMISION = PORCENTAJE_COMISION * (1 + vporcentaje);
END $$

DELIMITER ;

CALL reajuste_comision(tu_valor_porcentaje);

Reemplaza "tu_valor_porcentaje" con el valor adecuado que deseas utilizar al llamar al procedimiento.

Recuerda que la sintaxis puede variar ligeramente dependiendo del motor de base de datos que estés utilizando. Si sigues teniendo problemas, asegúrate de consultar la documentación específica de tu sistema de gestión de bases de datos para obtener más detalles sobre cómo crear procedimientos almacenados correctamente.

Espero que esta respuesta te sea útil. Si tienes alguna otra pregunta, no dudes en preguntar. ¡Buena suerte con tus estudios!

Espero haber ayudado y buenos estudios!

Un saludo.

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

El ejercicio es la respuesta del profesor al desafío, pero al intentar llamarlo me presenta el error 1318 he intentado con CALL reajuste_comision(0.90) o bien CALL reajuste_comision(0,90) y me sigue marcando error