Re: Fwd: Re: Referencing

Поиск
Список
Период
Сортировка
От lucas@presserv.org
Тема Re: Fwd: Re: Referencing
Дата
Msg-id 20051031165827.50z4qeezsnms8kwk@www.presserv.org
обсуждение исходный текст
Ответ на Re: Fwd: Re: Referencing  (Daryl Richter <daryl@brandywine.com>)
Ответы Re: Fwd: Re: Referencing
Список pgsql-sql
Quoting Daryl Richter <daryl@brandywine.com>:
> lucas@presserv.org wrote:
> > Quoting Daryl Richter <daryl@brandywine.com>:
> >> It's hard to say without knowing more precisely what you are trying to
> >> model, but I think this push you in the right direction:
> >>
> > Okay, but references between (output/input) and ACTIVITY tables is 1 to N.
> > OUTPUT/INPUT - 1
> > to
> > ACTIVITY - N.
> > And not N to 1 how the example.
> > Then the reference field need to be on "ACTIVITY (send/buy)" table.
> >
>
> Ahh, ok.  In that case I reverse it like so:
>
> -- This table hold everything in common for inputs/outputs
> create table transfer(
> id            serial   primary key
> );

Yes, I think it was what I wanted.
And how I check if a register in "Transfer" table is only referenciable by ONE
table (OR "output" OR "input")?? Would I create a Trigger like:
CREATE or REPLACE FUNCTION TG_output_check() RETURNS TRIGGER AS
$$ BEGIN  IF exists (select 1 from input where transfer_id=NEW.transfer_id) THEN   Raise Exception 'This activity
(transfer)is alread setted to INPUT';  END IF;  RETURN NEW; END;
 
$$ language 'plpgsql'; CREATE TRIGGER TG_output_check BEFORE INSERT or UPDATE
on OUTPUT EXECUTE PROCEDURE TG_output_check();
CREATE or REP...--- and the some function to INPUT ---

Or is there another way to check it?

Thank you again.



В списке pgsql-sql по дате отправления:

Предыдущее
От: Axel Rau
Дата:
Сообщение: Poor performance in inet << cidr join
Следующее
От: L van der Walt
Дата:
Сообщение: A Not Join