Valew pelas dicas. Depois de parar e pensar melhor consegui atraves de um consulta no google uma maneira da forma como eu precisava.
Não consigo achar agora o exemplo que vi, mas funcionaria assim. - Cria uma trigger - Declara uma variavel (var_codigo) do mesmo tipo do codigo - faz um select (select into var_codigo codigo from tabela_b where codigo = new.codigo) - e compara if NOT_FOUND. Mas eu tive que estacionar por enquanto, pq precisava trazer também o $SESSION do PHP, e este campo não estava sendo gravado. Então estou pensando se vai valer a pena fazer a comparação dentro do banco ou via PHP, pq se for fazer via BANCO vou ter que acrescentar o campo $SESSION as duas tabelas. Mas muito obrigado, a dica de vocês já me serviram para outros cases. 2010/3/18 JotaComm <jota.c...@gmail.com> > Olá, > > Em 18 de março de 2010 21:31, Nilson Chagas <nilson.chagas.si...@gmail.com > > escreveu: > >> Pessoal como eu montaria uma trigger/constraint para criar a seguinte >> regra. >> >> >> Tabela A >> Codigo >> Nome >> >> Tabela B >> Codigo >> Data >> >> Somente inseri registros na tabela A se existir o Codigo na Tabela B. >> >> Não pode ser através de FK, pq a Tabela B é zerada a cada 2 horas. >> >> Pensei em montar um trigger mas não sei como pegar o retorno do select e o >> que informar no return. >> >> Se alguém puder me cantar a pedra. rsrsrsrs >> > > Também não entendi muito bem o que vocẽ deseja. Veja se é mais ou menos > isso que vocẽ quer: > > CREATE TABLE tab1(codigo INTEGER PRIMARY KEY,nome VARCHAR(30)); > > CREATE TABLE tab2(codigo INTEGER PRIMARY KEY,nome VARCHAR(20),data > TIMESTAMP WITHOUT TIME ZONE); > > CREATE OR REPLACE RULE exemplo_regra AS ON INSERT TO tab2 DO INSERT INTO > tab1 VALUES (NEW.codigo,NEW.nome); > > postgres=# INSERT INTO tab2 VALUES (1,'JP',current_timestamp); > INSERT 0 1 > postgres=# SELECT * FROM tab2; > codigo | nome | data > --------+------+---------------------------- > 1 | JP | 2010-03-18 23:37:08.132421 > (1 row) > > postgres=# SELECT * FROM tab1; > codigo | nome > --------+------ > 1 | JP > (1 row) > > > >> >> -- >> []s >> Nilson Chagas - Ubuntu User 25794 >> --- >> Visite: >> http://www.avozdoevangelho.com.br -> Peça gratuitamente um curso Bíblico >> >> Twitter: avozdoevangelho >> Twitter: matrixspnet >> >> http://www.amados.com.br >> http://bbnradio.org -> Ouça a rádio e faça gratuitamente um Curso Biblico >> On-Line >> >> >> >> _______________________________________________ >> 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 > > _______________________________________________ > pgbr-geral mailing list > pgbr-geral@listas.postgresql.org.br > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > > -- []s Nilson Chagas - Ubuntu User 25794 --- Visite: http://www.avozdoevangelho.com.br -> Peça gratuitamente um curso Bíblico Twitter: avozdoevangelho Twitter: matrixspnet http://www.amados.com.br http://bbnradio.org -> Ouça a rádio e faça gratuitamente um Curso Biblico On-Line
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral