Problema com Trigger Mysql
Boa tarde, Eu estou com um problema em uma das minhas trigger do meu banco, e espero que vcs possam me ajudar a resolver.
O objetivo dela é inserir na table tmovimentação os dados tanto da tabela tItem_pedido e tPedido, mas os problema está em justamente inserir os dados da table tPedido, o campo data_mov faz um select na tabela tpedido e retorna a data do pedido e insere corretamente, o problema é o campo ID_Usuario, este não insere.
no meu entender deveria funcionar, a sintaxe está igual ao do campo data_mov
o problema é nessa trigger:
CREATE TRIGGER trgMovSaida AFTER insert ON titem_pedido
FOR EACH ROW
BEGIN
# declaring variables
DECLARE ID_Movimentacao int(10);
DECLARE ID_Producao INT (10);
DECLARE ID_Pedido INT (5);
DECLARE ID_Usuario INT (5);
DECLARE tipo_mov INT (2);
DECLARE data_mov date;
DECLARE qnt_mov INT (5);
DECLARE produto int (10);
# inserting data
INSERT INTO tMovimentacao
SET
ID_Movimentacao = null,
ID_Producao = null,
ID_Pedido = new.ID_Pedido,
ID_Usuario = (SELECT distinct ID_Usuario from tpedido WHERE tpedido.ID_Pedido = new.ID_Pedido LIMIT 1),
tipo_mov = ''SAÍDA'',
data_mov = (SELECT data_pedido from tpedido WHERE tpedido.ID_Pedido = new.ID_Pedido LIMIT 1),
qnt_mov = NEW.qnt_utilizado,
ID_Produto = NEW.ID_Produto;
END //
DELIMITER ;
Desde já agradeço
O objetivo dela é inserir na table tmovimentação os dados tanto da tabela tItem_pedido e tPedido, mas os problema está em justamente inserir os dados da table tPedido, o campo data_mov faz um select na tabela tpedido e retorna a data do pedido e insere corretamente, o problema é o campo ID_Usuario, este não insere.
no meu entender deveria funcionar, a sintaxe está igual ao do campo data_mov
o problema é nessa trigger:
CREATE TRIGGER trgMovSaida AFTER insert ON titem_pedido
FOR EACH ROW
BEGIN
# declaring variables
DECLARE ID_Movimentacao int(10);
DECLARE ID_Producao INT (10);
DECLARE ID_Pedido INT (5);
DECLARE ID_Usuario INT (5);
DECLARE tipo_mov INT (2);
DECLARE data_mov date;
DECLARE qnt_mov INT (5);
DECLARE produto int (10);
# inserting data
INSERT INTO tMovimentacao
SET
ID_Movimentacao = null,
ID_Producao = null,
ID_Pedido = new.ID_Pedido,
ID_Usuario = (SELECT distinct ID_Usuario from tpedido WHERE tpedido.ID_Pedido = new.ID_Pedido LIMIT 1),
tipo_mov = ''SAÍDA'',
data_mov = (SELECT data_pedido from tpedido WHERE tpedido.ID_Pedido = new.ID_Pedido LIMIT 1),
qnt_mov = NEW.qnt_utilizado,
ID_Produto = NEW.ID_Produto;
END //
DELIMITER ;
Desde já agradeço
Luiz Fernando
Curtidas 0