Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

[Duda] ALTER STORED PROCEDURE

Buenas tardes, En MySQL pude realizar el ALTER Procedure sin problemas. A un SP que no tenía cuerpo, le incorporé la acción deseada y se modificó. No necesité realizar un DROP y crear uno nuevo.

Por qué en la actividad propuesta pone como respuesta incorrecta al Alter procedure?

Gracias!

1 respuesta
solución!

¡Hola Claudia!

En MySQL, efectivamente, el comando ALTER PROCEDURE existe, pero su funcionalidad es bastante limitada. Solo se usa para modificar ciertos atributos del procedimiento almacenado, como los permisos o las características de SQL Security, pero no permite modificar el cuerpo del procedimiento.

¿Por qué ALTER PROCEDURE no es la respuesta correcta en la actividad?

La razón es que ALTER PROCEDURE en la mayoría de los sistemas de bases de datos (como SQL Server o PostgreSQL) no permite cambiar el código del procedimiento almacenado. En MySQL, aunque existe, no se usa para modificar el código del procedimiento, por lo que la forma estándar de modificar un Stored Procedure es:

  1. Eliminar el procedimiento con DROP PROCEDURE.
  2. Crear uno nuevo con CREATE PROCEDURE.

Ejemplo en MySQL:

DROP PROCEDURE IF EXISTS mi_procedimiento;
DELIMITER //
CREATE PROCEDURE mi_procedimiento()
BEGIN
    -- Nuevo código aquí
END //
DELIMITER ;

¿Por qué en tu caso funcionó?

Si pudiste modificar un Stored Procedure en MySQL sin hacer DROP, probablemente estabas trabajando con un procedimiento sin cuerpo, lo cual pudo permitir que se añadiera la lógica sin conflictos. Sin embargo, en la práctica general, si ya tiene cuerpo, MySQL no permite modificarlo con ALTER PROCEDURE.

Por eso, la actividad considera incorrecto ALTER PROCEDURE, ya que en la mayoría de los sistemas de bases de datos y en el uso general de MySQL, no se usa para modificar el código de un procedimiento almacenado.

Espero haber ayudado y buenos estudios!

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