SET CONSTRAINTS question...

From: "Michael Paesold" <mpaesold(at)gmx(dot)at>
To: <pgsql-novice(at)postgresql(dot)org>
Subject: SET CONSTRAINTS question...
Date: 2002-07-11 22:35:34
Message-ID: 005201c2292b$4600df30$c9bab23e@beeblebrox
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

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

Browse pgsql-novice by date

  From Date Subject
Next Message Juliet May 2002-07-11 22:58:07 update multiple columns
Previous Message Ron Johnson 2002-07-11 19:13:38 Re: web archiving