Ver Mensaje Individual
  #7 (permalink)  
Antiguo 16/02/2011, 12:36
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: Store Procedure que devuelva una tabla

No estás usando SQL Server ni Oracle. Tienes que fijarte en el manual de referencia para poder usar correctamente las funciones.
El signo "+" no se usa en MySQL para concatenar textos, sino la función CONCAT(), que a diferencia de Oracle, no encadena dos cadenas solamente, sino más.
Además, NVARCHAR no es un tipo de dato de MySQL, como tampoco lo es VARCHAR2.

Probemos:

Código MySQL:
Ver original
  1. DELIMITER $$
  2. DROP PROCEDURE IF EXISTS `getpersonas`$$
  3. CREATE PROCEDURE `getPersonas`(
  4.     IN cadenaWhere varchar(1000))
  5.     SET @ss=CONCAT('select * FROM personas ', cadenaWhere);
  6.     DECLARE stmt varchar(1000);
  7.     PREPARE stmt FROM @ss;
  8.     EXECUTE stmt;
  9.     DALLOCATE PREPARE stmt;
  10. END$$
  11. DELIMITER ;
Nota: El script así escrito está preparado para ser cargado con el MySQL Query Browser...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)