Boa tarde pessoal! estou com problema nesta query e não consigo identificar o porque que apartir de BEGIN está dando o erro #1064. Eu preciso que após fazer a inserção dos dados a SP me retorne o Id que é auto incremento se alguém poder me ajudar eu agradeço.
DELIMITER $$
CREATE PROCEDURE uspPacienteInserir(
IN v_nome VARCHAR(80),
IN v_cpf VARCHAR(14),
IN v_rg VARCHAR(14),
IN v_estadocivil ENUM('solteiro','casado', 'divorciado','viuvo'),
IN v_sexo ENUM('Masculino', 'Feminino'),
IN v_etinia ENUM('africano', 'asiatico', 'caucasiano', 'latino'),
IN v_profissao VARCHAR(20),
IN v_naturalidade VARCHAR(20),
IN v_nacionalidade VARCHAR(20),
IN v_nascimento DATE,
IN v_falecido ENUM('Sim', 'Não'),
IN v_hobby VARCHAR(50),
IN v_indicadopor VARCHAR(20),
IN v_nomemae VARCHAR(80),
IN v_nascimentomae DATE,
IN v_profissaomae VARCHAR(20),
IN v_nomepai VARCHAR(80),
IN v_nascimentopai DATE,
IN v_profissaopai VARCHAR(20),
IN v_foto BLOB
)
BEGIN
OUT ultimoIdInserido INTO;
INSERT INTO paciente (nome,cpf,rg,estadocivil,sexo,etnia,profissao,naturalidade,nacionalidade,nascimento,falecido,hobby,indicadopor,nomemae,nascimentomae,profissaomae,nomepai,nascimentopai,profissaopai,foto);
Pergunta
Rosenildo_ICM
Boa tarde pessoal! estou com problema nesta query e não consigo identificar o porque que apartir de BEGIN está dando o erro #1064. Eu preciso que após fazer a inserção dos dados a SP me retorne o Id que é auto incremento se alguém poder me ajudar eu agradeço.
DELIMITER $$
CREATE PROCEDURE uspPacienteInserir(
IN v_nome VARCHAR(80),
IN v_cpf VARCHAR(14),
IN v_rg VARCHAR(14),
IN v_estadocivil ENUM('solteiro','casado', 'divorciado','viuvo'),
IN v_sexo ENUM('Masculino', 'Feminino'),
IN v_etinia ENUM('africano', 'asiatico', 'caucasiano', 'latino'),
IN v_profissao VARCHAR(20),
IN v_naturalidade VARCHAR(20),
IN v_nacionalidade VARCHAR(20),
IN v_nascimento DATE,
IN v_falecido ENUM('Sim', 'Não'),
IN v_hobby VARCHAR(50),
IN v_indicadopor VARCHAR(20),
IN v_nomemae VARCHAR(80),
IN v_nascimentomae DATE,
IN v_profissaomae VARCHAR(20),
IN v_nomepai VARCHAR(80),
IN v_nascimentopai DATE,
IN v_profissaopai VARCHAR(20),
IN v_foto BLOB
)
BEGIN
OUT ultimoIdInserido INTO;
INSERT INTO paciente (nome,cpf,rg,estadocivil,sexo,etnia,profissao,naturalidade,nacionalidade,nascimento,falecido,hobby,indicadopor,nomemae,nascimentomae,profissaomae,nomepai,nascimentopai,profissaopai,foto);
VALUES (v_nome, v_cpf, v_rg, v_estadocivil, v_sexo, v_etnia, v_profissao, v_naturalidade, v_nacionalidade, v_nascimento, v_falecido, v_hobby, v_indicadopor, v_nomemae, v_nascimentomae, v_profissaomae, v_nomepai, v_nascimentopai, v_profissaopai, v_foto);
SELECT id_paciente INT ultimoIdInserido FROM paciente ORDER BY id_paciente DESC LIMIT 1;
END $$
DELIMITER;
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.