Olá, Por que suas funções estão retornando NULL, elas deveriam retornar NEW não?
2009/8/25 Grupo Bio Soja - Carlos Eduardo Rodrigues Gonçalves < carlosgoncal...@biosoja.com.br> > eu tenho tentando fazer com trigger mais nao estou conseguindo fazer ele > inserir so os dados pertinentes a tabela... o exemplo que encontrei > > CREATE FUNCTION adicionarpessoa() RETURNS "trigger" > AS $$ > begin > insert into tbPessoa (cdPessoa, tpPessoa, nmPessoa, cpf, dtNascimento) > values (new.cdPessoa, new.tpPessoa, new.nmPessoa, new.cpf, > new.dtNascimento); > return null; > end; > $$ > LANGUAGE plpgsql; > > ------------------------------------------------------------------------------- > CREATE FUNCTION atualizarpessoa() RETURNS "trigger" > AS $$ > begin > update tbPessoa set > tpPessoa = new.tpPessoa, > nmPessoa = new.nmPessoa, > cpf = new.cpf, > dtNascimento = new.dtNascimento > where cdPessoa = old.cdPessoa; > return null; > end; > $$ > LANGUAGE plpgsql; > > ------------------------------------------------------------------------------- > CREATE FUNCTION removerpessoa() RETURNS "trigger" > AS $$ > begin > delete from tbPessoa where cdPessoa = old.cdPessoa; > return null; > end; > $$ > LANGUAGE plpgsql; > > ------------------------------------------------------------------------------- > > ------------------------------------------------------------------------------- > -- SEQUENCE > > ------------------------------------------------------------------------------- > CREATE SEQUENCE tbpessoa_cdpessoa_seq > INCREMENT BY 1 > NO MAXVALUE > NO MINVALUE > CACHE 1; > > ------------------------------------------------------------------------------- > > ------------------------------------------------------------------------------- > -- TABLES > > ------------------------------------------------------------------------------- > CREATE TABLE tbpessoa ( > cdpessoa integer NOT NULL, > nmpessoa character varying(50), > tppessoa integer, > cpf character varying(20), > dtnascimento date > ); > ALTER TABLE ONLY tbpessoa > ADD CONSTRAINT pk_tbpessoa PRIMARY KEY (cdpessoa); > > ------------------------------------------------------------------------------- > CREATE TABLE tbaluno ( > cdpessoa integer DEFAULT nextval('tbpessoa_cdpessoa_seq'::regclass) NOT > NULL, > nmpessoa character varying(50), > tppessoa integer DEFAULT 0, > matricula character varying(20), > cpf character varying(20), > dtnascimento date > ); > ALTER TABLE ONLY tbaluno > ADD CONSTRAINT pk_tbaluno PRIMARY KEY (cdpessoa); > CREATE TRIGGER tgadicionarpessoa > AFTER INSERT ON tbaluno > FOR EACH ROW > EXECUTE PROCEDURE adicionarpessoa(); > CREATE TRIGGER tgatualizarpessoa > AFTER UPDATE ON tbaluno > FOR EACH ROW > EXECUTE PROCEDURE atualizarpessoa(); > CREATE TRIGGER tgremoverpessoa > AFTER DELETE ON tbaluno > FOR EACH ROW > EXECUTE PROCEDURE removerpessoa(); > > esse exemplo e quase que eu quero... so que pra ele funcionar no caso a > tabela aluno tem que ter os mesmos campos e eu nao queria isso.. quem puder > me ajudar por favor... to comecando agora a programar. > > > > > > > 2009/8/25 Joao Cosme de Oliveira Junior <joao.co...@serpro.gov.br> > >> trigger meu jovem, da uma olhada em plpgsql e triggers >> >> >> Em 25/08/2009 às 16:43 horas, pgbr-ge...@listas.postgresql.org.brescreveu: >> >> Entaum eu estava vendo sobre linguagem procedural.. vi ate um exemplo que >> faz isso so que de uma maneira quase heranca, so que fica redudancia de >> dados... os mesmo campos que tem na tabela pessoa tem que ter em cliente >> para funcionar... gostaria se teria outro jeito de fazer ow se tenho que >> mudar a modelagem de dados... >> >> 2009/8/25 Fabrízio de Royes Mello <fabriziome...@gmail.com> >> >>> >>> 2009/8/25 Grupo Bio Soja - Carlos Eduardo Rodrigues Gonçalves < >>> carlosgoncal...@biosoja.com.br> >>> >>>> Gostaria de saber se tem como montar funcoes para insercao de dados, >>>> alteracao e exclusao. >>>> Tenho uma tabela pessoa e uma tabela cliente onde a mesma possui >>>> id_pessoa... estou utilizando php para enviar informacoes para o banco >>>> gostaria de cadastrar ao mesmo tempo os campos pertinentes a pessoa e os >>>> campos pertinetes a cliente.. se alguem tiver um tutorial ou um link que eu >>>> possa ler... pois ja revirei a net.... muito obrigado a todos >>>> >>>> >>> Podes começar a dar uma olhada em [1] e [2] e se tiveres dúvidas entre >>> novamente em contato que ajudaremos no que for possível: >>> >>> [1] >>> <http://www.postgresql.org/docs/8.4/interactive/server-programming.html> >>> http://www.postgresql.org/docs/8.4/interactive/server-programming.html >>> [2] <http://www.postgresql.org/docs/8.4/interactive/plpgsql.html> >>> http://www.postgresql.org/docs/8.4/interactive/plpgsql.html >>> >>> >>> -- >>> Fabrízio de Royes Mello >>> >> Blog sobre PostgreSQL: <http://fabriziomello.blogspot.com> >>> http://fabriziomello.blogspot.com >>> >>> _______________________________________________ >>> pgbr-geral mailing list >>> pgbr-geral@listas.postgresql.org.br >>> <https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral> >>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >>> >>> >> >> >> "Esta mensagem do SERVIÇO FEDERAL DE PROCESSAMENTO DE DADOS (SERPRO), >> empresa pública federal regida pelo disposto na Lei Federal nº 5.615, é >> enviada exclusivamente a seu destinatário e pode conter informações >> confidenciais, protegidas por sigilo profissional. Sua utilização >> desautorizada é ilegal e sujeita o infrator às penas da lei. Se você a >> recebeu indevidamente, queira, por gentileza, reenviá-la ao emitente, >> esclarecendo o equívoco." >> >> "This message from SERVIÇO FEDERAL DE PROCESSAMENTO DE DADOS (SERPRO) -- a >> government company established under Brazilian law (5.615/70) -- is directed >> exclusively to its addressee and may contain confidential data, protected >> under professional secrecy rules. Its unauthorized use is illegal and may >> subject the transgressor to the law's penalties. If you're not the >> addressee, please send it back, elucidating the failure." >> >> >> _______________________________________________ >> pgbr-geral mailing list >> pgbr-geral@listas.postgresql.org.br >> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >> >> > > _______________________________________________ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > > []s -- JotaComm http://jotacomm.wordpress.com http://www.dextra.com.br/postgres
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral