error con un procedimiento con cursor

Iniciado por elbrujo20, 21 Abril 2017, 09:12 AM

0 Miembros y 1 Visitante están viendo este tema.

elbrujo20

buenas noches estaba haciendo un ejercicio pero no encuentro el error por mas que busco no se a que se deba y no se mucho de mysql  intento hacer esto

Código (sql) [Seleccionar]

CREATE PROCEDURE temporal( IN temp int)
BEGIN

DECLARE maxima int
SELECT max(ventas) FROM vendedor INTO maxima;
CREATE TABLE ven_temp AS SELECT id_vendedor FROM vendedor;
WHERE ventas=maxima;
COMMIT;
END;


me marca 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 'SELECT max(ventas) FROM vendedor INTO maxima' at line 5 quito . y comas y sigue igual no se a que se deba

creo que puede ser por la version pero no se como se haga a la version que tengo uso esta
Versión de PHP: 5.5.38
phpmyadmin Acerca de esta versión: 4.5.1

Saludos

3n31ch

#1
El primer error que veo es que después del
Código (sql) [Seleccionar]

DECLARE maxima INT


te falto el ";"

Ademas me confunde ese WHERE de abajo... estas seguro que es así?.  Nunca he creado una tabla con un SP.

No querrás decir algo así?

Código (sql) [Seleccionar]
CREATE PROCEDURE temporal( IN temp INT)
BEGIN
DECLARE maxima INT;
SELECT MAX(ventas) FROM vendedor INTO maxima;
CREATE TABLE ven_temp AS SELECT id_vendedor FROM vendedor WHERE ventas=maxima;
COMMIT;
END;




crisoof

esta mal el INTO

Código (sql) [Seleccionar]

CREATE PROCEDURE temporal( IN temp INT)
BEGIN
DECLARE maxima INT;
SELECT MAX(ventas) INTO maxima FROM vendedor ;
CREATE TABLE ven_temp AS SELECT id_vendedor FROM vendedor WHERE ventas=maxima;
COMMIT;
END;


Saludos