Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: elbrujo20 en 21 Abril 2017, 09:12 am



Título: error con un procedimiento con cursor
Publicado por: elbrujo20 en 21 Abril 2017, 09:12 am
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
  1. CREATE PROCEDURE temporal( IN temp INT)
  2. BEGIN
  3.  
  4. DECLARE maxima INT
  5. SELECT MAX(ventas) FROM vendedor INTO maxima;
  6. CREATE TABLE ven_temp AS SELECT id_vendedor FROM vendedor;
  7. WHERE ventas=maxima;
  8. COMMIT;
  9. END;
  10.  

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


Título: Re: error con un procedimiento con cursor
Publicado por: 3n31ch en 21 Abril 2017, 10:07 am
El primer error que veo es que después del
Código
  1. DECLARE maxima INT
  2.  

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
  1. CREATE PROCEDURE temporal( IN temp INT)
  2. BEGIN
  3. DECLARE maxima INT;
  4. SELECT MAX(ventas) FROM vendedor INTO maxima;
  5. CREATE TABLE ven_temp AS SELECT id_vendedor FROM vendedor WHERE ventas=maxima;
  6. COMMIT;
  7. END;




Título: Re: error con un procedimiento con cursor
Publicado por: crisoof en 30 Agosto 2017, 16:09 pm
esta mal el INTO

Código
  1. CREATE PROCEDURE temporal( IN temp INT)
  2. BEGIN
  3. DECLARE maxima INT;
  4. SELECT MAX(ventas) INTO maxima FROM vendedor ;
  5. CREATE TABLE ven_temp AS SELECT id_vendedor FROM vendedor WHERE ventas=maxima;
  6. COMMIT;
  7. END;

Saludos