Re: CHECK constraint
От | Ben Clewett |
---|---|
Тема | Re: CHECK constraint |
Дата | |
Msg-id | 3E70A9F5.30809@roadrunner.uk.com обсуждение исходный текст |
Ответ на | Re: CHECK constraint (Joe Conway <mail@joeconway.com>) |
Список | pgsql-novice |
Bloody-A that's perfect! Elegent, readable, controlable. And, unlike the CHECK ( foo IN ( SELECT .. ), it'd dynamic as well... Ben Joe Conway wrote: > Ben Clewett wrote: > >> Is this possible?? Should I cut-and-run here and do the coding in >> application space? > > > How 'bout: > > CREATE TABLE bar ( > id int4 NOT NULL, > live bool > ); > > insert into bar values(1,'t'); > insert into bar values(2,'f'); > > CREATE OR REPLACE FUNCTION check_bar(int4) RETURNS bool AS' > SELECT live FROM bar WHERE id = $1 > ' language 'sql' STABLE STRICT; > > CREATE TABLE foo ( > id int4 NOT NULL CHECK (check_bar(id)) > ); > > regression=# insert into foo values(1); > INSERT 1336840 1 > regression=# insert into foo values(2); > ERROR: ExecInsert: rejected due to CHECK constraint "foo_id" on "foo" > > HTH, > > Joe > > > > ---------------------------(end of broadcast)--------------------------- > TIP 3: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@postgresql.org so that your > message can get through to the mailing list cleanly >
В списке pgsql-novice по дате отправления: