Si esa sola línea contiene el SP entonces no sólo está incompleto, sino que además no realiza nada...
El SP se declara con el siguiente esquema de script, que debe ser cargado y ejecutado en consola o en una interfase, en modo consola:
Código sql:
Ver originalDELIMITER $$
DROP PROCEDURE IF EXISTS NombreProc$$
CREATE PROCEDURE NombreProc(ModoEntrada nombreVariable TipoDato)
BEGIN
DeclaracionesVariables;
DeclaracionesCursores;
DeclaracionesHandlers;
CuerpoDelProcedure;
...
...
...
END$$
DELIMITER ;
Donde:
ModoEntrada: IN / OUT / INOUT.
TipoDato: INT / CHAR/ VARCHAR / TIME / DATE / DATETIME / REAL / FLOAT / etc., etc.
DeclaracionesVariables: Todas las variables usadas en el cuerpo del store procedure.
DeclaracionesCursores: Cursores de lectura secuencial para una sentencia SELECT indicada.
DeclaracionesHandlers: Handlers de eventos de tabla, tales como NOT FOUND, EOF, etc.
CuerpoDelProcedure: Código de las tareas realizadas por el procedure.
DELIMITER: Es una sentencia destinada a cambiar momentáneamente el terminador de sentencias para que el script se peuda cargar en una sola ejecución y no se "corte" al encontrar los ";" finales intermedios.
Si el script se carga desde una aplicación, no es necesario usar el DELIMITER, sino cargar en un sólo bloque el script desde el CREATE... hasta el ...END
Nota:
Hacer un SP para ejecutar una sola sentencia SELECT / INSERT / DELETE / UPDATE / DROP es
un desperdicio de recursos de la base de datos. Esos casos se resuelven por código en la aplicación, de forma mucho más sencilla.