Disculpame nuevamente... ese stored procedure funciono bien pero el problema lo tengo con los ?
Estaba trabajando el mismo ejemplo pero con 4 parametros, como podria hacer para llamar especificamente el 3er o 4to parametro?
Este es mi ejemplo:
Código MySQL:
Ver originalin param_cod_tipo_eva
CHAR(1), set @consulta
='select cod_tipo_eva, cod_eva_alm, des_eva_alm from tipo_eva_almacen where cod_empresa=?'; set @param_cod_empresa
=param_cod_empresa
; set @param_cod_tipo_eva
=param_cod_tipo_eva
; set @param_cod_eva_alm
=param_cod_eva_alm
; set @param_des_eva_alm
=param_des_eva_alm
;
if(param_cod_tipo_eva
!='') then set @consulta
=concat(@consulta
,' and cod_tipo_eva=?');
if(param_cod_eva_alm
!='') then set @consulta
=concat(@consulta
,' and cod_eva_alm=?');
if(param_des_eva_alm
!='') then set @consulta
=concat(@consulta
,' and des_eva_alm like concat("%",?,"%")');
prepare consulta
from @consulta
; execute consulta
using @param_cod_empresa
, @param_cod_tipo_eva
, @param_cod_eva_alm
, @param_des_eva_alm
; deallocate prepare consulta;
Funciona muy bien cuando se ingresan todos los parametros en el SP, pero si se ingresan por ejemplo 2 de los 4 parametros no tendria como llamar los parametros especificos utilizando ?
No seria lo ideal llenarme de tantos IF.
Espero me puedas indicar una forma de hacer eso, si es que es posible en MySQL.
Gracias!