¿Alguien sabe cuál es la sintaxis para cambiar el nombre de una base de datos mysql función/procedimiento almacenado? O esto es incluso compatible en MySQL? He estado buscando en google durante varios minutos…

Esto está documentado forums.mysql.com/read.php?10,274538,274563#msg-274563 aquí como una solución. Un procedimiento almacenado para cambiar el nombre se puede encontrar aquí youdidwhatwithtsql.com/rename-mysql-stored-procedures/819 . Una característica de la solicitud con la presentación en 2007, al parecer, todavía abierto si este bugs.mysql.com/bug.php?id=27793 es todavía válida.

OriginalEl autor Ferenc Deak | 2012-11-30

1 Comentario

  1. 17

    probar este

     UPDATE `mysql`.`proc`
    SET name = '<new_proc_name>',
    specific_name = '<new_proc_name>'
    WHERE db = '<database>' AND
      name = '<old_proc_name>';

    También tenga en cuenta: Si tiene los privilegios concedidos a los usuarios de este procedimiento deberás actualizar el nombre del procedimiento en procs_priv así.

    UPDATE `mysql`.`procs_priv`
    SET Routine_name = '<new_proc_name>'
    WHERE Db = '<database>' AND
      Routine_name = '<old_proc_name>';
     FLUSH PRIVILEGES;

    Fuente: MySQL En Foros :: Newbie :: Cambiar El Nombre De Sintaxis Del Procedimiento Almacenado

    ¿Necesita privilegios específicos a cambio de que la mesa?’
    Hay una variante de esta declaración en la que no es necesario especificar el nombre de base de datos, sólo tiene que utilizar la base de datos activa?
    sí – simplemente utilizar la función DATABASE() para obtener la base de datos actual nombre, en añadirlo como una condición: UPDATE mysql.proc SET name = ..., specific_name = ... WHERE name = ... AND db = DATABASE()
    También no se olvide de cambiar de llamada de eventos del procedimiento almacenado: alter evento event_RunSP1 en horario cada 60 segundos HACEN llamar <new_proc_name>;

    OriginalEl autor SRIRAM

Dejar respuesta

Please enter your comment!
Please enter your name here