Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fagner

erro ao criar trigger

Recommended Posts

estrutura das tabelas

 

pro_enquete

CREATE TABLE `pro_enquete` (  `codigo` int(11) NOT NULL auto_increment,  `fkempresas` int(11) NOT NULL default '0',  `pergunta` varchar(40) NOT NULL ,  `resp1` varchar(35) NOT NULL default '',  `resp2` varchar(35) NOT NULL default '',  `resp3` varchar(35) NULL,  `resp4` varchar(35) NULL,  PRIMARY KEY  (`codigo`)) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

 

pro_resultado

CREATE TABLE `pro_resultado` (  `codigo` int(11) NOT NULL default '0',  `fkenquete` int(11) NOT NULL default '0',  `res_1` int(5) NOT NULL default '0',  `res_2` int(5) NOT NULL default '0',  `res_3` int(5) NOT NULL default '0',  `res_4` int(5) NOT NULL default '0',  PRIMARY KEY  (`codigo`),  KEY `fkenquete` (`fkenquete`)) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

 

CREATE TRIGGER `pro_enquete_before_ins_tr` BEFORE INSERT ON `pro_enquete`  FOR EACH ROWBEGINinsert into pro_resultado set	   codigo = '',	   fkenquete = NEW.codigo,	   res_1 = '0',	   res_2 = '0',	   res_3 = '0',	   res_4 = '0';END;

A idéia é a seguinte, cadastro uma nova enquete a trigger ja implementa na tabela resultado o codigo da tabela pai,

e valores 0 para os restantes da tabela, isso é bem simples pra se fazer usando codigo mesmo, mas qro fazer usando trigger

pois vou precisar mais pra frente e já qro pegar o jeito.

 

Ia me esquecendo, da erro de sintax ao tentar criar essa trigger!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

ja li esse artigo, por isso nao estou entendendo oque esta errado!!peguei a ideia do proprio artigo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

estrutura das tabelaspro_enquete

CREATE TABLE `pro_enquete` (  `codigo` int(11) NOT NULL auto_increment,  `fkempresas` int(11) NOT NULL default '0',  `pergunta` varchar(40) NOT NULL ,  `resp1` varchar(35) NOT NULL default '',  `resp2` varchar(35) NOT NULL default '',  `resp3` varchar(35) NULL,  `resp4` varchar(35) NULL,  PRIMARY KEY  (`codigo`)) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
pro_resultado
CREATE TABLE `pro_resultado` (  `codigo` int(11) NOT NULL default '0',  `fkenquete` int(11) NOT NULL default '0',  `res_1` int(5) NOT NULL default '0',  `res_2` int(5) NOT NULL default '0',  `res_3` int(5) NOT NULL default '0',  `res_4` int(5) NOT NULL default '0',  PRIMARY KEY  (`codigo`),  KEY `fkenquete` (`fkenquete`)) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
CREATE TRIGGER `pro_enquete_before_ins_tr` BEFORE INSERT ON `pro_enquete`  FOR EACH ROWBEGINinsert into pro_resultado set	   codigo = '',	   fkenquete = NEW.codigo,	   res_1 = '0',	   res_2 = '0',	   res_3 = '0',	   res_4 = '0';END;
A idéia é a seguinte, cadastro uma nova enquete a trigger ja implementa na tabela resultado o codigo da tabela pai,e valores 0 para os restantes da tabela, isso é bem simples pra se fazer usando codigo mesmo, mas qro fazer usando trigger pois vou precisar mais pra frente e já qro pegar o jeito.Ia me esquecendo, da erro de sintax ao tentar criar essa trigger!!!
tenta fazer assim:CREATE TRIGGER `pro_enquete_before_ins_tr`AFTER INSERT ON `pro_enquete`FOR EACH ROW INSERT INTO `pro_resultado` (codigo, res_1, res_2, res_3, res_4) VALUES(NEW.codigo, 0, 0, 0, 0);espero ter ajudado

Compartilhar este post


Link para o post
Compartilhar em outros sites

obrigado!! agora deu!!!valeu!quer dizer entao que a outra sintaxe ta errada???se ta errada o artigo que esta no imasters esta erradoe pode estar confundindo muita gente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.