Edultra 13 Denunciar post Postado Setembro 30, 2009 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
Edultra 13 Denunciar post Postado Setembro 30, 2009 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