GRiLLo 11 Denunciar post Postado Março 22, 2012 pessoal, é o seguinte, estou fazendo um if que vem de uma funcao para comparar valores, ai eu tenho 2 problemas. 1. nao estou conseguindo retornar boolean da funcao, tive que colocar como varchar(1) para passar no return "1" ou return "0". (totalmente bizarro o que fiz, eu sei!) 2. nao consigo verificar se o retorno da funcao é igual a 1 ou 0 (if) segue o código simplificado PROCEDURE CREATE PROCEDURE `grillowe_financeiro`.`addUsuario` (IN _char_usuario_nome VARCHAR(150), _char_usuario_email VARCHAR(150), _char_usuario_senha VARCHAR(100)) BEGIN IF ( _char_usuario_nome IS NOT NULL && _char_usuario_email IS NOT NULL && _char_usuario_senha IS NOT NULL ) THEN IF ( select (grillowe_financeiro.getUsuarioByEmailSenha(_char_usuario_email, _char_usuario_senha)) = '0' ) THEN insert into grillowe_financeiro.tblUsuario (char_usuario_nome, char_usuario_email, char_usuario_senha) values (_char_usuario_nome, _char_usuario_email, _char_usuario_senha); END IF; END IF; END que chama a funcao getUsuarioByEmailSenha que se for = '0' ele insere no banco o usuario CREATE FUNCTION `grillowe_financeiro`.`getUsuarioByEmailSenha` (_char_usuario_email VARCHAR(150), _char_usuario_senha VARCHAR(100)) RETURNS varchar(1) BEGIN IF ( _char_usuario_email is not null && _char_usuario_senha is not null) THEN if( SELECT count(*) from grillowe_financeiro.tblUsuario as u where u.char_usuario_email = _char_usuario_email and u.char_usuario_senha = _char_usuario_senha ) THEN return '1'; END IF; END IF; return '0'; END brigadao pela ajuda!! Compartilhar este post Link para o post Compartilhar em outros sites
Cristian Göhl 0 Denunciar post Postado Março 25, 2012 pessoal, é o seguinte, estou fazendo um if que vem de uma funcao para comparar valores, ai eu tenho 2 problemas. 1. nao estou conseguindo retornar boolean da funcao, tive que colocar como varchar(1) para passar no return "1" ou return "0". (totalmente bizarro o que fiz, eu sei!) 2. nao consigo verificar se o retorno da funcao é igual a 1 ou 0 (if) segue o código simplificado PROCEDURE CREATE PROCEDURE `grillowe_financeiro`.`addUsuario` (IN _char_usuario_nome VARCHAR(150), _char_usuario_email VARCHAR(150), _char_usuario_senha VARCHAR(100)) BEGIN IF ( _char_usuario_nome IS NOT NULL && _char_usuario_email IS NOT NULL && _char_usuario_senha IS NOT NULL ) THEN IF ( select (grillowe_financeiro.getUsuarioByEmailSenha(_char_usuario_email, _char_usuario_senha)) = '0' ) THEN insert into grillowe_financeiro.tblUsuario (char_usuario_nome, char_usuario_email, char_usuario_senha) values (_char_usuario_nome, _char_usuario_email, _char_usuario_senha); END IF; END IF; END que chama a funcao getUsuarioByEmailSenha que se for = '0' ele insere no banco o usuario CREATE FUNCTION `grillowe_financeiro`.`getUsuarioByEmailSenha` (_char_usuario_email VARCHAR(150), _char_usuario_senha VARCHAR(100)) RETURNS varchar(1) BEGIN IF ( _char_usuario_email is not null && _char_usuario_senha is not null) THEN if( SELECT count(*) from grillowe_financeiro.tblUsuario as u where u.char_usuario_email = _char_usuario_email and u.char_usuario_senha = _char_usuario_senha ) THEN return '1'; END IF; END IF; return '0'; END brigadao pela ajuda!! // Verifica se nome/e-mail/senha não são nulos IF ( _char_usuario_nome IS NOT NULL && _char_usuario_email IS NOT NULL && _char_usuario_senha IS NOT NULL ) THEN // Não olhei a function, mas pelo nome busca se já existe usuário com aquele email e senha. IF ( select (grillowe_financeiro.getUsuarioByEmailSenha(_char_usuario_email, _char_usuario_senha)) = '0' ) THEN // Insere insert into grillowe_financeiro.tblUsuario (char_usuario_nome, char_usuario_email, char_usuario_senha) values (_char_usuario_nome, _char_usuario_email, _char_usuario_senha); END IF; END IF; END É algum trabalho de faculdade/Curso? Se não for, não vi a necessidade desta procedure/function. Pode ser que não reparei em algo, MAS: nome NOT NULL email NOT NULL senha NOT NULL Resolve o primeiro IF. ADD UNIQUE INDEX `emailSenha_UNIQUE` (`email` ASC, `senha` ASC) ; -- Resolve o segundo IF. Obs: Não é bom gravar a senha sem criptografia, e por que comparar email e senha igual? Sabendo qual a necessidade ficaria fácil te dar uma ideia. Abraço. Compartilhar este post Link para o post Compartilhar em outros sites