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 по дате отправления: