Erro na criaçãoTrigger
Galera, boa tarde
estou tentando criar a seguinte trigger
CREATE DEFINER = CURRENT_USER TRIGGER `tblfinanceiro_after_ins_tr1` AFTER INSERT ON `tblfinanceiro`
FOR EACH ROW
BEGIN
SELECT @V_ID:= MAX(IDHISTORICOFINANCEIRO)+1 from TBLHISTORICOFINANCEIRO where IdlocalHISTORICOFINANCEIRO=NEW.IDLOCALFINANCEIRO;
INSERT INTO tblhistoricofinanceiro(cidchavesfinanceiro,idempresa,cidchavescadastro,datalancamento,datafinanceiro,valor,identificacao,idhistoricofinanceiro,idlocalhistoricofinanceiro,cidchaves)
VALUES(NEW.CIDCHAVES,NEW.idempresa,NEW.cidchavescadastros,NEW.datalancamento,new.datalancamento,new.valor,new.identificacao,@V_ID,NEW.IDLOCALFINANCEIRO,CONCAT(@V_ID,'0',NEW.IDLOCALFINANCEIRO));
END;
esta dando erro na variavel, mas ja testei a select fora da trigger e funciona.
alguem pode me ajudar?
estou tentando criar a seguinte trigger
CREATE DEFINER = CURRENT_USER TRIGGER `tblfinanceiro_after_ins_tr1` AFTER INSERT ON `tblfinanceiro`
FOR EACH ROW
BEGIN
SELECT @V_ID:= MAX(IDHISTORICOFINANCEIRO)+1 from TBLHISTORICOFINANCEIRO where IdlocalHISTORICOFINANCEIRO=NEW.IDLOCALFINANCEIRO;
INSERT INTO tblhistoricofinanceiro(cidchavesfinanceiro,idempresa,cidchavescadastro,datalancamento,datafinanceiro,valor,identificacao,idhistoricofinanceiro,idlocalhistoricofinanceiro,cidchaves)
VALUES(NEW.CIDCHAVES,NEW.idempresa,NEW.cidchavescadastros,NEW.datalancamento,new.datalancamento,new.valor,new.identificacao,@V_ID,NEW.IDLOCALFINANCEIRO,CONCAT(@V_ID,'0',NEW.IDLOCALFINANCEIRO));
END;
esta dando erro na variavel, mas ja testei a select fora da trigger e funciona.
alguem pode me ajudar?
Agua Cascatai
Curtidas 0
Respostas
Leonardo Xavier
13/12/2010
O banco é MYSql? qual componente você esta utilizando apra conectar o banco?
GOSTEI 0
Agua Cascatai
13/12/2010
É mysql sim
o problema anterior, ja consegui resolver.
Estou com outro agora qu eé o seguinte
CREATE DEFINER = 'root'@'%' TRIGGER `tblbaixafinanceira_after_ins_tr` AFTER INSERT ON `tblbaixafinanceira`
FOR EACH ROW
BEGIN
DECLARE V_ID INT;
DECLARE V_IDCLIENTE INT;
SELECT CIDCHAVESCADASTROS FROM `tblfinanceiro` WHERE CIDCHAVES=NEW.CIDCHAVESFINANCEIRO INTO @V_IDCLIENTE;
SELECT MAX(IDHISTORICOFINANCEIRO)+1 from TBLHISTORICOFINANCEIRO where IdlocalHISTORICOFINANCEIRO=NEW.IDLOCALBAIXAFINANCEIRA INTO @V_ID;
INSERT INTO tblhistoricofinanceiro(cidchavesfinanceiro,idempresa,cidchavescadastro,datalancamento,datafinanceiro,valor,identificacao,idhistoricofinanceiro,idlocalhistoricofinanceiro,cidchaves)
VALUES(NEW.CIDCHAVESFINANCEIRO,NEW.idempresa,V_IDCLIENTE,NEW.datalancamento,new.datalancamento,(new.valor)*-1,new.identificacao,@V_ID,NEW.IDLOCALBAIXAFINANCEIRA,CONCAT(@V_ID,'0',NEW.IDLOCALBAIXAFINANCEIRA));
END;
a variavel @V_IDCLIENTE, esta voltando nula, o campo cidchavescadastro(do insert) da tabela é obrigatorio, com isso acontece erro na trigger.
consigo criar a trigger, mas na hora de incluir registro na tabela baixafinanceira, a trigger da erro no insert.
o problema anterior, ja consegui resolver.
Estou com outro agora qu eé o seguinte
CREATE DEFINER = 'root'@'%' TRIGGER `tblbaixafinanceira_after_ins_tr` AFTER INSERT ON `tblbaixafinanceira`
FOR EACH ROW
BEGIN
DECLARE V_ID INT;
DECLARE V_IDCLIENTE INT;
SELECT CIDCHAVESCADASTROS FROM `tblfinanceiro` WHERE CIDCHAVES=NEW.CIDCHAVESFINANCEIRO INTO @V_IDCLIENTE;
SELECT MAX(IDHISTORICOFINANCEIRO)+1 from TBLHISTORICOFINANCEIRO where IdlocalHISTORICOFINANCEIRO=NEW.IDLOCALBAIXAFINANCEIRA INTO @V_ID;
INSERT INTO tblhistoricofinanceiro(cidchavesfinanceiro,idempresa,cidchavescadastro,datalancamento,datafinanceiro,valor,identificacao,idhistoricofinanceiro,idlocalhistoricofinanceiro,cidchaves)
VALUES(NEW.CIDCHAVESFINANCEIRO,NEW.idempresa,V_IDCLIENTE,NEW.datalancamento,new.datalancamento,(new.valor)*-1,new.identificacao,@V_ID,NEW.IDLOCALBAIXAFINANCEIRA,CONCAT(@V_ID,'0',NEW.IDLOCALBAIXAFINANCEIRA));
END;
a variavel @V_IDCLIENTE, esta voltando nula, o campo cidchavescadastro(do insert) da tabela é obrigatorio, com isso acontece erro na trigger.
consigo criar a trigger, mas na hora de incluir registro na tabela baixafinanceira, a trigger da erro no insert.
GOSTEI 0
Leonardo Xavier
13/12/2010
Coloque o codigo do seu insert aqui. Poque sua tigger esta correta.
GOSTEI 0