Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

JAAFSANTOS

Procedure que grava registro e retorna chave primária

Recommended Posts

Pessoal gostaria de saber como criar uma store procedure em mysql que grave um determinado registro em uma tabela e retorne a chave primária do registro inserido, no caso o campo é do tipo auto_increment, gostaria de saber também se é possível na mesma procedure alterar registro de outra tabela inserindo em um determinado campo a chave primária do registro anteriormente adicionado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá JAAFSANTOS,

 

É possível sim, tudo que precisa é do id gerado, ele você pode conseguir de duas formas:

 

A mais fácil é através da função last_insert_id

 

Mas também é possível obter o registro através de um select que busque na tabela passando como parâmetros where os registros passados no insert.

 

Pelo cenário que passou, obtendo este id você consegue fazer o que deseja.

 

Abraços.

 

_ _

Fabiano Abreu

Papo SQL

Compartilhar este post


Link para o post
Compartilhar em outros sites
DELIMITER $$


CREATE PROCEDURE `spIncluirMovimento` (_codigoMovimento int, _nomeAluno varchar(100))

BEGIN

insert into tblAluno (nomeAluno) values (_nomeAluno);


SET @last_id_in_aluno = LAST_INSERT_ID();

-- SELECT MAX(codigoAluno) AS codHistorico FROM tblAluno;


update tblMovimento set codigoAluno = @last_id_in_aluno where codigoMovimento = _codigoMovimento;

END$$



Eu consegui fazendo dessa maneira... Obrigado Fabiano Abreu

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.