Ir para conteúdo

POWERED BY:

Arquivado

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

Edultra

[Resolvido] Procedure com SELECT LAST_INSERT_ID_CAD()

Recommended Posts

Tenho seguinte procedure a qual tem que fazer um insert em 2 tabelas mas esta dando erro na seguinte linha:

 

INSERT INTO usuario(id_cad,acesso) values(ID,1);

Queria pegar a ultima id_cad inserida na tabela cadastro e inserir na tabela usuario (na tabela usuario eu tenho id_cad como chave estrangeira) porem não sei se é a sintaxe correta para pegar a id do ultimo insert efetuado... no mssql sei que @@identity retorna o ultimo id inserido (primary key), não sei mas acho que o LAST_INSERT_ID_CAD() que não esta funcionando...

 

Segue o código da procedure:

 

DELIMITER &&
CREATE PROCEDURE sp_insereusuario(
 IN  nome varchar(60),
IN email varchar(60),
IN ddd int(2),
IN telefone int(8),
IN endereco varchar(70),
IN cidade varchar(20),
IN estado varchar(2),
IN bairro varchar(20),
IN pais varchar(20),
IN login varchar(12),
IN senha varchar(8)
)
BEGIN
DECLARE ID INT;
INSERT INTO cadastro(nome,email,ddd,telefone,endereco,cidade,estado,bairro,pais,login,senha) 
	values(nome,email,ddd,telefone,endereco,cidade,estado,bairro,pais,login,senha);
SET ID =(SELECT LAST_INSERT_ID_CAD());
INSERT INTO usuario(id_cad,acesso) values(ID,1);
END
&&

Compartilhar este post


Link para o post
Compartilhar em outros sites

Putz consegui... o correto era:

 

SET ID =(SELECT LAST_INSERT_ID());

Que bom... mas que froids, bem fica ai o exemplo para quem quiser fazer...

 

Caso resolvido...

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.