Estimados habra una forma mas eficiente de hacer esto....
Código SQL:
Ver originalCREATE PROCEDURE SpTest(IN Run VARCHAR(12),IN Empresa VARCHAR(12))
BEGIN
DECLARE condicion VARCHAR(100);
SET condicion = "";
IF Run <> "" THEN
IF condicion = " " THEN
SET condicion = CONCAT(' WHERE UsuarioRun=''', Run,'''');
ELSE
SET condicion = CONCAT(' AND UsuarioRun=''', Run,'''');
END IF;
END IF;
IF Empresa <> "" THEN
IF condicion = " " THEN
SET condicion = CONCAT(' WHERE UsuarioEmpresa=''', Empresa,'''');
ELSE
SET condicion = CONCAT(condicion,' AND UsuarioEmpresa=''', Empresa,'''');
END IF;
END IF;
SET @consulta = CONCAT("select * from Sis_Usuario ", condicion);
PREPARE stmt FROM @consulta;
EXECUTE stmt;
END;