Spyder.RV 0 Denunciar post Postado Janeiro 28, 2011 Salve galera, Preciso montar uma procedure pra fazer o seguinte: 1) Inserir um Registro 2) Após rodar a inserção, verificar se foi bem sucedido e dar retorno em caso de falha no insert 3) Se bem sucedido, pegar o ID gerado e usar ele num segundo insert. Exemplo, 1) Inserir um Usuário INSERT INTO usuario ( nomeUsuario, login, senha, usuarioAtivo ) VALUES ('Maria', 'maria', '123', true); 2) O Insert foi bem sucedido? Se NÃO, a PROCEDURE retorna um aviso para ser tratado no programa. 3) Se bem Sucedido, pegar o ID gerado e gerar o vínculo de perfil de usuário. INSERT INTO usuarioPermissoes ( codUsuario, codPerfil ) VALUES( O_ID_GERADO, 1 ); E por fim, retornar que foi bem sucedido e qual o ID gerado pra ser tratado na linguagem que o programador escolher.... Compartilhar este post Link para o post Compartilhar em outros sites
Spyder.RV 0 Denunciar post Postado Janeiro 31, 2011 Galera... minha pergunta ficou incompleta... Eu queria saber como descobrir se o insert foi bem sucedido... para então pegar o ID... Pesquisando eu encontrei na própria documentação do mysql... basta executar o comando SELECT ROW_COUNT() logo após o insert.... montei assim na stored: IF ( SELECT ROW_COUNT() > 0 ) THEN SET PK = (SELECT DISTINCT last_insert_id() from usuario); #Aqui eu executo o restante do código para inserir em usuarioPermissoes INSERT INTO usuarioPermissoes ( codUsuario, codPerfil ) VALUES( PK, 1 ); END IF; Aí é só fazer as validações que precisar... Mesmo ninguem ter conseguido responder, valeu assim mesmo. Compartilhar este post Link para o post Compartilhar em outros sites