pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Michael Paesold <mpaesold@gmx.at>
To: pgsql-sql@postgresql.org
Subject: [NOVICE] SET CONSTRAINTS question...
Date: Mon, 22 Jul 2002 17:26:29 +0200
Message-ID: <00de01c23194$28c25360$c9bab23e@beeblebrox> (raw)
References: <023101c2318f$cee147b0$6602a8c0@salamander>

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





view thread (2+ messages)  latest in thread

Message-ID: <00de01c23194$28c25360$c9bab23e@beeblebrox>
Permalink:  ../00de01c23194$28c25360$c9bab23e@beeblebrox/
Also on:    postgresql.org/message-id/00de01c23194$28c25360$c9bab23e@beeblebrox

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: mpaesold@gmx.at
  Subject: Re: [NOVICE] SET CONSTRAINTS question...
  In-Reply-To: <00de01c23194$28c25360$c9bab23e@beeblebrox>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox