crazySerk Postado Outubro 25, 2013 Denunciar Share Postado Outubro 25, 2013 Galera, montei essa trigger, ela é simples e não tem muita frescura, porém ela não está funcionando. Compila sem erros. BEGIN /* declaro variavel para realizar controle */ DECLARE marca INT DEFAULT 0; declare desc_ VARCHAR(60); /* select para verificar se já existe algum registro para a marca selecionada da empresa */ select count(cod_marca) into marca from empresas_lojas where cod_marca = new.cod_marca AND cod_empresa = new.cod_empresa; /* select para recuperar o nome da marca que estamos inserindo */ select descricao into desc_ from marcas where cod_marca = new.cod_marca; /* verifico se existe já um dado para marca escolhida, se marca for maior que 0 é porque já foi feito um cadastro para marca selecionada, caso contrario apenas salvo essa nova marca */ IF(marca < 1) then /* crio copia da marca para a empresa */ insert into empresas_marca (cod_marca,descricao,cod_empresa,cod_loja) values (new.cod_marca,desc_,new.cod_empresa,NEW.cod_loja); end if; END Esqueci de algo nessa trigger? Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Outubro 26, 2013 Denunciar Share Postado Outubro 26, 2013 Vamos mudar um pouquinho.BEGIN /* declaro variavel para realizar controle */ DECLARE marca INT DEFAULT 0; declare desc_ VARCHAR(60); /* select para verificar se já existe algum registro para a marca selecionada da empresa */ SET marca = (select count(cod_marca) from empresas_lojas where cod_marca = new.cod_marca AND cod_empresa = new.cod_empresa); /* select para recuperar o nome da marca que estamos inserindo */ SET desc_ = (select descricao from marcas where cod_marca = new.cod_marca); /* verifico se existe já um dado para marca escolhida, se marca for maior que 0 é porque já foi feito um cadastro para marca selecionada, caso contrario apenas salvo essa nova marca */ IF(marca < 1) then /* crio copia da marca para a empresa */ insert into empresas_marca (cod_marca, descricao, cod_empresa, cod_loja) values (new.cod_marca, desc_, new.cod_empresa, NEW.cod_loja); END IF; ENDTenta agora. Link para o comentário Compartilhar em outros sites More sharing options...
0 crazySerk Postado Outubro 26, 2013 Autor Denunciar Share Postado Outubro 26, 2013 Qual a diferença do Into para Set nesse caso? Link para o comentário Compartilhar em outros sites More sharing options...
0 crazySerk Postado Outubro 26, 2013 Autor Denunciar Share Postado Outubro 26, 2013 Pode marca o tópico como resolvido por que tá 100%. Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
crazySerk
Galera, montei essa trigger, ela é simples e não tem muita frescura, porém ela não está funcionando.
Compila sem erros.
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados