Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/10/2014, 03:10
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Almacenamiento de procedimientos

Por lo pronto, demasiados INTO...

Esta mal escrito. Se ponen primero todos los campos y luego todas las variables, con un solo INTO.
Además de eso, no estás definiendo bien los parámetros del prototipo. Un VARCHAR debe tener indicada su longitud, no basta con poner "VARCHAR", porque no estás programando en C, C#, o Java. Esto es SQL.

Código SQL:
Ver original
  1. DELIMITER $$
  2. CREATE PROCEDURE salarios_procedure(OUT nomb VARCHAR(100), OUT apell VARCHAR(100),OUT depar VARCHAR(100))
  3. BEGIN
  4.     SELECT e.Nombre, e.Apellido, nomDepartamento
  5.     INTO nomb, apell, depar
  6.     FROM cargoxempleado ca
  7.     INNER JOIN empleados e ON ca.codEmpleado = e.codEmpleado
  8.     INNER JOIN departamentos d ON d.codDepartamento = ca.codDepartamento
  9.     WHERE salario > 2000000;
  10.  END$$
  11. DELIMITER ;

Finalmente, el DELIMITER debe tener siempre un espacio antes del delimitador de sentencias nuevo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 03/10/2014 a las 04:17