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

Responder a