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
Não entendi muito bem o que você quer, mas para não passar em branco o "cantar da pedra" vai aqui um exemplo do que eu pude entender. --- postgres=# CREATE TEMP TABLE a (codigo int, nome varchar); CREATE TABLE postgres=# CREATE TEMP TABLE b (codigo int, data date); CREATE TABLE postgres=# INSERT INTO b VALUES (1,'2001/10/09'); INSERT 0 1 postgres=# INSERT INTO b VALUES (2,'2002/10/09'); INSERT 0 1 postgres=# INSERT INTO b VALUES (3,'2002/11/09'); INSERT 0 1 postgres=# INSERT INTO b VALUES (4,'2010/01/09'); INSERT 0 1 postgres=# INSERT INTO a SELECT 1, 'JOAO' FROM B WHERE 1=b.codigo; INSERT 0 1 postgres=# INSERT INTO a SELECT 5, 'PEDRO' FROM B WHERE 5=b.codigo; INSERT 0 0 postgres=# INSERT INTO a SELECT 4, 'MARIA' FROM B WHERE 4=b.codigo; INSERT 0 1 postgres=# SELECT * from b; codigo | data --------+------------ 1 | 2001-10-09 2 | 2002-10-09 3 | 2002-11-09 4 | 2010-01-09 (4 linhas) postgres=# SELECT * from a; codigo | nome --------+------- 1 | JOAO 4 | MARIA (2 linhas) --- []s Dickson S. Guedes mail/xmpp: gue...@guedesoft.net - skype: guediz http://guedesoft.net - http://www.postgresql.org.br _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral