andfera 0 Denunciar post Postado Junho 26, 2008 Como fazer IF encadeado em Store Procedures?? Acho que to errando na sintaxe! Meu exemplo: DELIMITER $$ DROP PROCEDURE IF EXISTS `xprojetos`.`consulta` $$ CREATE DEFINER=`root`@`localhost` PROCEDURE `consulta`(c_log VARCHAR(10), c_senha VARCHAR(8)) BEGIN SELECT cad_log, cad_senha, cad_perm into @log, @senha, @perm from cad_login where cad_log = c_log and cad_senha = c_senha limit 1; IF ((@log = c_log) && (@senha = c_senha) && (@perm = 'CLIENTE')) THEN SELECT * FROM tb_tributos; ELSE IF ((@log = c_log) && (@senha = c_senha) && (@perm = 'RH')) THEN SELECT * FROM cad_funcionarios; ELSE SELECT '*USUARIO NÃO TEM PERMISSÃO*' AS Msg; END IF; END $$ DELIMITER; Compartilhar este post Link para o post Compartilhar em outros sites
NaPraia 12 Denunciar post Postado Junho 26, 2008 qual é o erro que está dando???? IF ((@log = c_log) && (@senha = c_senha)para quê fazer esse IF??? a final na tua consulta que você está armazenando a permissão você já faz no where igual a log e senha. Vai ser sempre igual. Basta verificar a permissão. organize os dados IF ((@log = c_log) && (@senha = c_senha) && (@perm = 'CLIENTE')) THEN SELECT * FROM tb_tributos; ELSE IF ((@log = c_log) && (@senha = c_senha) && (@perm = 'RH')) THEN SELECT * FROM cad_funcionarios; ELSE SELECT '*USUARIO NÃO TEM PERMISSÃO*' AS Msg; END IF; não parece que você esqueceu um END IF??? Compartilhar este post Link para o post Compartilhar em outros sites
andfera 0 Denunciar post Postado Junho 26, 2008 qual é o erro que está dando???? IF ((@log = c_log) && (@senha = c_senha)para quê fazer esse IF??? a final na tua consulta que você está armazenando a permissão você já faz no where igual a log e senha. Vai ser sempre igual. Basta verificar a permissão. organize os dados IF ((@log = c_log) && (@senha = c_senha) && (@perm = 'CLIENTE')) THEN SELECT * FROM tb_tributos; ELSE IF ((@log = c_log) && (@senha = c_senha) && (@perm = 'RH')) THEN SELECT * FROM cad_funcionarios; ELSE SELECT '*USUARIO NÃO TEM PERMISSÃO*' AS Msg; END IF; não parece que você esqueceu um END IF??? Cara acabei fazendo por case é BEMMMmelhor....ficamais rapido a verificação!!! Abraços Depois eu posto o codigo pro pessoal ver de exemplo! VLW Compartilhar este post Link para o post Compartilhar em outros sites