Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

como hacer select en stored procedure en mysql

Estas en el tema de como hacer select en stored procedure en mysql en el foro de Mysql en Foros del Web. Tengo el siguiente stored procedure en el que quiero hacer una consulta, recibo 2 parametros, p_campo y p_valor. El stored es llamado de la siguiente ...
  #1 (permalink)  
Antiguo 14/03/2009, 08:30
 
Fecha de Ingreso: enero-2009
Mensajes: 9
Antigüedad: 15 años, 3 meses
Puntos: 0
como hacer select en stored procedure en mysql

Tengo el siguiente stored procedure en el que quiero hacer una consulta, recibo 2 parametros, p_campo y p_valor.

El stored es llamado de la siguiente manera:
CALL `pruebaBusqueda`(p_campo, p_valor);

El problema esta en que no me realiza el select si le mando el campo demanera dinamica, por ejemplo si quiero buscar que en el campo nombre, la palabra 'ni'

CALL `pruebaBusqueda`('nombre', 'ni');

creo yo que el problema esta en las comillas de --->'nombre'

AQUI NO ME DEJO CREAR CORRECTAMENTE EL STORED PORQUE E EL FORO TODAVIA NO PUEDO PONER DIRECCIONES MI EQUIPO LOCAL

CREATE DEFINER = 'root LOCAL' PROCEDURE `pruebaBusqueda`(IN p_campo VARCHAR(20), IN p_valor VARCHAR(20))
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT ''
BEGIN

select e.id, e.apellido, e.nombre, e.fechaNacimiento, e.dni, e.sexo, e.estadoCivil, e.grupoSanguineo,
e.telefono, e.legajoPersonal, e.gradoInstruccion, e.titulosAcademicos, e.capacitacion,e.domicilio, e.jerarquia, e.localidadNacimiento as 'idLocalidadNacimiento', l.descripcion as 'localidadNacimiento', e.localidadVive as 'idLocalidadVive', lo.descripcion as 'localidadVive',e.foto FROM efectivos e INNER JOIN localidades l ON l.id=e.localidadNacimiento INNER JOIN localidades lo ON lo.id=e.localidadVive WHERE (p_campo LIKE CONCAT('%',p_valor,'%'));

END;
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:21.