Ich versuche eine gespeicherte Prozedur in MySQL zu erstellen, aber wenn ich es versuche, sagt mir phpmyadmin, dass ich einen Syntaxfehler habe. Warum? Ich habe gesucht, dass das Problem könnte sein, weil ich CASE-Anweisungen innerhalb meiner sonst Bedingungen, aber soweit ich weiß, dies ist so verrückt und ich hoffe, Sie können mir helfen und mir sagen, was ist mein Problem mit dieser Stored Procedure in Mysql . Vielen Dank.Syntaxfehler versucht, eine gespeicherte Prozedur in Mysql zu erstellen?
DELIMITER $$
CREATE PROCEDURE extraer_fechas(
statusFecha SMALLINT(5),
string_busqueda VARCHAR(50)
)
BEGIN
IF string_busqueda = "false" THEN
SELECT
CONCAT(fechas.year,'-',fechas.month,'-',fechas.dates) AS fecha_php,
fechas.ID,
fechas.dates,
fechas.month,
fechas.year,
paises.nombre AS city,
fechas.region,
fechas.place,
fechas.tickets,
fechas.directions,
fechas.flyer,
seo_sitemap.title,
seo_sitemap.description,
seo_sitemap.url,
seo_sitemap.array_tags
FROM fechas
INNER JOIN paises ON fechas.city = paises.id_pais
INNER JOIN seo_sitemap ON seo_sitemap.id_articulo = fechas.ID
WHERE seo_sitemap.id_tabla = 1
AND fechas.status_fecha = statusFecha
ORDER BY
fechas.month,
fechas.dates,
fechas.year
ELSE
SELECT
CONCAT(fechas.year,'-',fechas.month,'-',fechas.dates) AS fecha_php,
fechas.ID,
fechas.dates,
fechas.month,
fechas.year,
paises.nombre AS city,
fechas.region,
fechas.place,
fechas.tickets,
fechas.directions,
fechas.flyer,
seo_sitemap.title,
seo_sitemap.description,
seo_sitemap.url,
seo_sitemap.array_tags
FROM fechas
INNER JOIN paises ON fechas.city = paises.id_pais
INNER JOIN seo_sitemap ON seo_sitemap.id_articulo = fechas.ID
WHERE
CONCAT(fechas.place,' ',fechas.region,', ',paises.nombre,', ',(
CASE fechas.month
WHEN 01 THEN 'Enero'
WHEN 02 THEN 'Febrero'
WHEN 03 THEN 'Marzo'
WHEN 04 THEN 'Abril'
WHEN 05 THEN 'Mayo'
WHEN 06 THEN 'Junio'
WHEN 07 THEN 'Julio'
WHEN 08 THEN 'Agosto'
WHEN 09 THEN 'Septiembre'
WHEN 10 THEN 'Octubre'
WHEN 11 THEN 'Noviembre'
WHEN 12 THEN 'Diciembre'
END),' ',fechas.dates,' de ',fechas.year)
LIKE '%string_busqueda%'
AND seo_sitemap.id_tabla = 1
AND fechas.status_fecha = statusFecha ;
END IF;
END$$
Und die MYSQL ERROR:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'ELSE SELECT CONCAT(fechas.year,'-',fechas.month,'-',fechas.dates) AS fecha' at line 34
Nochmals vielen Dank viel.
den Fehlercode und die Nachricht Bitte schreiben. – KaeL
Entschuldigung. Ist das # 1064 - Sie haben einen Fehler in Ihrer SQL-Syntax; Überprüfen Sie das Handbuch, das Ihrer MariaDB-Serverversion entspricht, für die richtige Syntax in der Nähe von 'ELSE SELECT CONCAT (fechas.year,' - ', fechas.month,' - ', fechas.dates) AS fecha' in Zeile 34 'Danke –