Re: [SQL] Verificate values in other table?
От | Peter Eisentraut |
---|---|
Тема | Re: [SQL] Verificate values in other table? |
Дата | |
Msg-id | Pine.LNX.4.20.9911141936290.797-100000@peter-e.yi.org обсуждение исходный текст |
Ответ на | Verificate values in other table? ("juman" <juman@spray.se>) |
Ответы |
Re: [SQL] Verificate values in other table?
|
Список | pgsql-sql |
Btw., the term is "Referential integrity". At some point there was something of that nature in the contrib dir but I can't seem to find it now. The usual way to solve this is to make a "rule" like so: CREATE RULE check_for_junk AS ON insert TO table2 WHERE 0 = (SELECT COUNT(*) FROM table1 WHERE table1.ids = new.id) DO INSTEADNOTHING; and a similar one for updates. Perhaps you also want one "ON delete TO table1" to check for the reverse condition. Proper foreign keys are slated to appear in 7.0. On 1999-11-14, juman mentioned: > I'm working on a little database and got stuck with the following problem. I > have two tables that look like this > > table1 ( ids char(4) ) > table2 ( id char(4), comment text) > > What I want to do is that if someone adds or updates a row in in table2 I > want to verify that the <id> given exists in table1. And if it doesn't don't > accept the modification and give the user a error message. Is there some way > to do this? > > / Fredrik > > > ************ > > -- Peter Eisentraut Sernanders vaeg 10:115 peter_e@gmx.net 75262 Uppsala http://yi.org/peter-e/ Sweden
В списке pgsql-sql по дате отправления: