stored - cómo decir crear procedimiento si no existe en MySQL
variables en mysql select (3)
Estoy tratando de escribir un script para crear un procedimiento en la base de datos MySQL, pero quiero verificar si es el primero.
Sé cómo hacerlo para una tabla, pero cuando uso la misma sintaxis para el procedimiento almacenado, no se compila.
¿Alguien sabe? Gracias
No existe Tuvimos que escribir un procedimiento almacenado que imita la misma funcionalidad. Básicamente, creamos procedimientos almacenados llamando a un procedimiento almacenado que realiza la verificación "si existe".
Simplemente suelte el procedimiento si existe y luego vuélvalo a agregar:
DROP PROCEDURE IF EXISTS my_procedure;
CREATE PROCEDURE my_procedure()
SELECT EXISTS(SELECT 1 FROM mysql.proc p WHERE db = ''db_name'' AND name = ''stored_proc_name'');
Para que pudieras hacer:
IF NOT EXISTS(SELECT 1 FROM mysql.proc p WHERE db = ''db_name'' AND name = ''stored_proc_name'') THEN
....
END IF;