Fórum Dois comandos em Stored Procedure #470614
20/02/2014
0
Minha procedure
CREATE DEFINER=`root`@`localhost` PROCEDURE `InsereAluno`( IN varNome varchar(180), IN varTurma int(11), IN varIdade varchar(180) ) BEGIN insert into alunos(nome,turma,idade) values (varNome,varTurma,varIdade); END;
quando inserir os dados eu gostaria que fizesse essa consulta:
SELECT A.IdAluno, A.Nome, T.Turma FROM aluno A LEFT JOIN turma T ON A.Turma = T.IdTurma
Raniel Gomes
Curtir tópico
+ 0Posts
20/02/2014
Marisiana Battistella
Eu acho que não consegui entender qual é a tua dificuldade...
Você conseguiu criar a procedure?
Caso tenha conseguido, ela está realizando a inserção dos dados (está executando corretamente)?
Gostei + 0
20/02/2014
Raniel Gomes
Gostei + 0
20/02/2014
Alex Lekao
Se colocar esse select logo apos o insert nao faz?
esta dando algum erro?
Abraco.
Alex - Lekao
Gostei + 0
20/02/2014
Raniel Gomes
Gostei + 0
20/02/2014
Alex Lekao
o erro eh so isso, 1064?
Gostei + 0
20/02/2014
Raniel Gomes
Gostei + 0
20/02/2014
Alex Lekao
vou ver se da certo a criacao.
ai ja posto o resultado aqui.
Gostei + 0
20/02/2014
Raniel Gomes
Gostei + 0
20/02/2014
Alex Lekao
CREATE DEFINER=`root`@`localhost` PROCEDURE `InsereAluno`( IN varNome varchar(180), IN varTurma int(11), IN varIdade varchar(180) ) insert into alunos(nome,turma,idade) values (varNome,varTurma,varIdade); SELECT A.IdAluno, A.Nome, T.Turma FROM aluno A LEFT JOIN turma T ON A.Turma = T.IdTurma
Gostei + 0
21/02/2014
Marisiana Battistella
Gostei + 0
21/02/2014
Alex Lekao
eu resolvi olhar a que criei do jeito que postei e o select nao estava la... rsrsr
o ponto eh virgula funciona como finalizador, acredito eu, e o select nao entrou na stored procedure.
quiz ajudar e fiz besteira... kkkkkkkkkkk
mas eu so nao entendi direito o porque de um select na estored procedure... rsrsr mas tudo bem...
Gostei + 0
21/02/2014
Alex Lekao
Estava testando aqui e parece que faltou isso antes de comecar a o create.
DELIMITER $$
ai a procedure ficaria assim.
DELIMITER $$ CREATE DEFINER=`root`@`localhost` PROCEDURE `InsereAluno`( IN varNome varchar(180), IN varTurma int(11), IN varIdade varchar(180) ) begin insert into alunos(nome,turma,idade) values (varNome,varTurma,varIdade); SELECT A.IdAluno, A.Nome, T.Turma FROM aluno A LEFT JOIN turma T ON A.Turma = T.IdTurma; end
Testa ai e me nos informe se deu certo... rsrsr
no teste que eu fiz aqui funcionou.
Espero que de certo e que atenda a sua necessidade.
Abraco.
Alex - Lekao
Gostei + 0
21/02/2014
Marisiana Battistella
Mas fiquei com uma dúvida com relação a esse select dentro do procedimento de inserção...
Raniel, vc precisa que nesse select retorne os dados do registro que vc acabou de inserir, ou ele é um select pra retornar todos os dados?
Se for um select para retornar todos os dados, aconselho a criar um procedimentos apenas para essa finalidade, pois vc poderá utilizar ele em outras situações além dessa...
Gostei + 0
21/02/2014
Alex Lekao
eu fiz uma instalacao em um VM e aqui e qdo preciso ver alguma coisa ou testar eu vejo la... rsrsr
eu fiz o procedimento de criacao da procedure pelo WorkBenq e ele indicou esse parameter, so assim deu cerrto... rsrsr
mas esse select tbm achei estranho... rssr mas blz...
espero que atenda ao que ele precisa.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)