Criando Storeds Procedures no MySQL
usaremos como exemplo a tabela venda abaixo
create table venda(
codVenda int,
data date,
total float,
primary key(codvenda)
)
DELIMITER $$
CREATE procedure InserirVenda(cdv int,dt date,tot float)
BEGIN
insert into itensvenda(codVenda,data,total)
values(cdv,dt,tot);
END$$
DELIMITER ;
EXECUTANDO
call InserirVenda(1,2013-03-03,10)
Fácil! não?
stored procedure é muito fácil, vc só precisa informar onde ela começa e termina com "DELIMITER $$" dá um nome a ela e entre o begin e o end colocar o que desejar, inserir, deletar, atualizar...
Obrigado Floriano, ajudou bastante... Já havia passado por N tutoriais, e o seu foi bem direto e claro.
ResponderExcluirEste comentário foi removido pelo autor.
ResponderExcluirAmigo saberia me ajudar com a sintaxe dessa procedure?
ResponderExcluirDELIMITER $$
CREATE procedure Inserir_Disciplina(@disciplina_nome VARCHAR(45) CHARSET UTF8)
BEGIN
IF NOT EXISTS (SELECT * FROM tcc.disciplina WHERE disciplina_nome = @disciplina_nome)
THEN
INSERT INTO tcc.disciplina(disciplina_nome)
VALUES(@disciplina_nome);
END IF
END$$
DELIMITER ;
sim, mas por favor me mostra a tabela para eu poder verificar os parâmetro e montar direitinho para você, pois no seu insert aparentemente falta alguns campos
ExcluirCREATE TABLE `disciplina` (
ResponderExcluir`disciplina_id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
`disciplina_nome` varchar(64) NOT NULL,
PRIMARY KEY (`disciplina_id`),
UNIQUE KEY `disciplina_nome` (`disciplina_nome`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8;