rodizs 0 Denunciar post Postado Março 4, 2007 Estou tentando a dias criar uma procedure no mysql 5, mas não estou tendo sucesso, já uso procedures no sql server, mas no mysql não estou conseguindo de jeito nenhum criar uma procedure....O que eu preciso é simples, quero cadastrar um item atravéz de uma procedure e a mesma vai me retornar o id que foi cadastrado para o item cadastrado.......peguei esse exemplo aqui no forum e mudei para os campos do do meu banco mas não tive sucesso, eu nem fiz a alteração para retornar valor e já está dando erro."Executing Query. Wait ...MySQL ERROR:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')BEGIN INSERT INTO classificados (chamada, texto, anunciante, telefone' at line 9" CREATE PROCEDURE sp_insere_classsficado(IN va_chamada varchar(50),IN va_texto text,IN va_anunciante varchar(50),IN va_telefone varchar(50),IN va_email varchar(50),)BEGIN INSERT INTO classificados (chamada, texto, anunciante, telefone,email) VALUES (va_chamada, va_texto, va_anunciante, va_telefone,va_email);END;Esse é codigo da criação da minha tabela.CREATE TABLE `classificados` ( `idclassificado` integer (11) NOT NULL AUTO_INCREMENT , `chamada` varchar (40) NOT NULL, `texto` text NOT NULL, `anunciante` varchar (50) NOT NULL, `telefone` varchar (50) NOT NULL, `email` varchar (50) NOT NULL, `liberado` char (1) NOT NULL DEFAULT 'N', `expira` date NOT NULL, `img` varchar (50), PRIMARY KEY (`idclassificado`)) TYPE=MyISAM CHARACTER SET latin1 COLLATE latin1_swedish_ciAlguém pode me postar como ficaria a minha procedure para retornar o ID cadastrado....?preciso criar outras procedures.... Compartilhar este post Link para o post Compartilhar em outros sites
Eclesiastes 2 Denunciar post Postado Março 5, 2007 Note que você deixou uma vírgula antes de fechar o parênteses. E para poder retornar o ID inserido, adicione a seguinte linha antes do END: SELECT @@identity; Compartilhar este post Link para o post Compartilhar em outros sites
rodizs 0 Denunciar post Postado Março 8, 2007 Pessoal olha o que eu to fazendo de errado ein... CREATE PROCEDURE sp_insere_classsficado(IN va_chamada varchar(40),IN va_texto text,IN va_anunciante varchar(50),IN va_telefone varchar(50),IN va_email varchar(50),IN va_expira DATE)BEGIN INSERT INTO classificados (chamada, texto, anunciante, telefone, email, liberado, expira) VALUES (va_chamada, va_texto, va_anunciante, va_telefone,va_email,'N',va_expira);END;SELECT @@IDENTITY;não ta dando certo o programa que eu uso é o dbmananger e ele ta dizendo que tem erro na linha do insert, mas como pode ter erro ai.... Compartilhar este post Link para o post Compartilhar em outros sites