Hi, Right after installting postgres 7.2.1 (from release source) and reading some chapters of Bruce Momjian's great book I started to play around with a test database. Now I have a question concerning deferred constraint checking. I am new to transactional SQL, so I don't really know, if this should work:
-- create query BEGIN; CREATE TABLE friend ( name VARCHAR(40) PRIMARY KEY, country CHAR(2) NOT NULL DEFAULT 'AT' ); CREATE SEQUENCE conn_id_seq; CREATE TABLE conn ( id INTEGER NOT NULL DEFAULT nextval('conn_id_seq'), name VARCHAR(40), CONSTRAINT conn_friend_fkey FOREIGN KEY(name) REFERENCES friend(name) ON UPDATE CASCADE ON DELETE RESTRICT DEFERRABLE INITIALLY IMMEDIATE, CONSTRAINT conn_pkey PRIMARY KEY(id) ); CREATE INDEX conn_name_idx ON conn (name); INSERT INTO friend VALUES ('Michael Paesold', 'AT'); INSERT INTO conn (name) VALUES ('Michael Paesold'); COMMIT; -- test BEGIN; SET CONSTRAINTS conn_friend_fkey DEFERRED; DELETE FROM friend WHERE name='Michael Paesold'; INSERT INTO friend VALUES ('Michael Paesold', 'DE'); COMMIT; I get an error just after the DELETE query. Perhaps I don't understand the concept of deferred constraint checking. I know that the above query doesn't make much sense, but I wanted to try these features. Best Regards, Michael Paesold ---------------------------(end of broadcast)--------------------------- TIP 6: Have you searched our list archives? http://archives.postgresql.org