Fórum Como criar uma trigger urgente !! #419927
15/07/2012
0
tenho um database com nome de paradox7 no MYSQL dentro dela tenho campos chamado almox e o outro solicitação.
Estou criando um trigger para atualizar o saldo do estoque da tabela almox .
na hora de criar a trigger me da esse erro
error 1064 42000 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 CREATE TRIGGER
Alguem pode me ajudar !
Obrigado
Watson Rocha
Curtir tópico
+ 0Posts
15/07/2012
William
Uma observação essa dúvida pertence ao fórum MYSQL hein ..
Gostei + 0
15/07/2012
Watson Rocha
Boa Tarde !
Estou usando esse comando.
CREATE TRIGGER tr_aur
AFTER INSERT ON almox
FOR EACH ROW BEGIN
UPDATE solicitacao SET quantidade= quantidade- NEW.quantidadeWHERE quantidade= NEW.quantidade;
END;
Vou tentar explicar melhor. eu uma tabela e os campos dessa tabela eu criei no HEISQL dentro do prompt do MYSQL
eu faço assim :
use paradox7; <-- esse é meu database
depois
CREATE TRIGGER tr_aur
AFTER INSERT ON almox
FOR EACH ROW BEGIN
UPDATE solicitacao SET quantidade= quantidade- NEW.quantidadeWHERE quantidade= NEW.quantidade;
END;
eu quero que funcione assim.
quando o usuario solicitar a material via sistema automaticamente ,atualize o saldo do produto.
tenho duas tabela solicitacao
e a outra almox .quando solicitado na tabela solicitacao atualize a tabela almox
Obrigado espero ter explicado correto !!
Gostei + 0
15/07/2012
Watson Rocha
CREATE TRIGGER
AUR
AFTER INSERT ON paradox7 <<---- (paradox7 é minha database)
FOR EACH ROW
BEGIN
UPDATE almox set quantidade WHERE quantidade=new.quantidade(almox é minha tabela e a quantidade é o meu campo aqui da erro)
end;
Gostei + 0
16/07/2012
Joel Rodrigues
Gostei + 0
16/07/2012
Bruno Leandro
CREATE TRIGGER
AUR
AFTER INSERT ON paradox7
FOR EACH ROW
BEGIN
UPDATE almox set quantidade=new.quantidade WHERE codigo=new.codigo;
end;
Gostei + 0
16/07/2012
Watson Rocha
O que vc me passou aparentemente está dando certo , ela só me apresentou um erro na linha 7 . aonde fica o END .
como eu posso finalizar essa trigger ?
Obrigado
Gostei + 0
16/07/2012
Bruno Leandro
Gostei + 0
16/07/2012
Watson Rocha
Eu fiz esse jeito , e deu certo ,mas na hora do usuario inserir dados no campo quantidade no sistema esta dando erro.
delimiter $$
CREATE TRIGGER
AUR
AFTER INSERT ON almox
FOR EACH ROW
BEGIN
UPDATE almox SET quantidade=new.quantidade WHERE codigo=new.codigo;
END;
delimiter $$
Abraço !
Gostei + 0
16/07/2012
Watson Rocha
cant update table almox in stored function/trigger because it is already used by statement which invoked this stored function/trigger
Será que tem que acrescentar mais comando script ?
Valeu Abraço.
Gostei + 0
16/07/2012
Bruno Leandro
CREATE TRIGGER AUR -- esta linha significa que voce esta criando uma trigger com o nome AUR
AFTER INSERT ON paradox7 -- aqui significa que apos inserir os registros na tabela paradox7 essa trigger sera executada
FOR EACH ROW -- significa que em todos os registros da tabela paradox7 sera executado o comando
BEGIN -- inicio de um bloco
UPDATE almox set quantidade=new.quantidade WHERE codigo=new.codigo;
--ou seja apos inserir um registro na tabela paradox7
--será executado um update na tabela almox atualizando a quantidade para a quantidade definida na tabela paradox7, aonde o --codigo na tabela almox é o codigo utilizado ao inserir na tabela paradox7
end; -- finalizador
Gostei + 0
16/07/2012
Watson Rocha
Cosegui fazer a trigger o paradox7 que eu te passei era o meu databases ,mas já alterei .
e ficou assim
delimiter $$
CREATE TRIGGER
AUR
AFTER INSERT ON almox
FOR EACH ROW
BEGIN
UPDATE almox SET quantidade=new.quantidade WHERE codigo=new.codigo;
END;
delimiter $$
Maravilha funcionou , agora é um seguinte quando eu abro o Delphi e vou inserir dados no campo quantidade e retorna esse erro na tela do Delphi...
cant update table almox in stored function/trigger because it is already used by statement which invoked this stored function/trigger
Obrigado pela força Bruno !!
Gostei + 0
16/07/2012
Watson Rocha
cant update table almox in stored function/trigger because it is already used by statement which invoked this stored function/trigger
Criei essa trigger , e na hora de inserir dado na tela do delphi 7 ele aparece esse erro acima !
Alguem pode me dar uma luz !
Obrigado.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)