Inheritance and Update/Delete

From: "Roger Mathis" <traderx(at)gmx(dot)ch>
To: pgsql-general(at)postgresql(dot)org
Subject: Inheritance and Update/Delete
Date: 2002-07-22 09:48:53
Message-ID: 3d3bd4f5$0$12806$7402020d@newsfeed.sunrise.ch
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi

I made the following observation:
On the ToDo-List is this entry: "Allow UPDATE/DELETE on inherited table ".
But in my database (7.2.1) it is possible to update/delete rows on inherited
tables, and I even can delete rows from the parent-table. I'm connected with
postgres.
I'm confused...

This is the script of my database:

DROP TABLE Lieferant;
DROP TABLE Kunde;
DROP TABLE Mitarbeiter;
DROP TABLE Person;
DROP TABLE Ort;
DROP SEQUENCE ort_plznr_seq;
DROP SEQUENCE mitarbeiter_mnr_seq;
DROP SEQUENCE kunde_knr_seq;
DROP SEQUENCE lieferant_lnr_seq;

CREATE TABLE Ort (
PLZNr SERIAL NOT NULL,
PLZ VARCHAR(8) NOT NULL,
Ort VARCHAR(32) NOT NULL,
CONSTRAINT ort_pk PRIMARY KEY (PLZNr));

CREATE TABLE Person (
PName VARCHAR(64) NOT NULL,
PVorname VARCHAR(64) NOT NULL,
PAdresse VARCHAR(64),
Ort_PLZNr INTEGER NOT NULL,
PTelefon INTEGER,
PE_Mail VARCHAR(64),
CONSTRAINT ort_plznr_fk FOREIGN KEY (Ort_PLZNr)
REFERENCES Ort(PLZNr));

CREATE TABLE Mitarbeiter (
MNr SERIAL NOT NULL,
MEintritt DATE NOT NULL,
MAustritt DATE,
CONSTRAINT ma_pk PRIMARY KEY (MNr))
INHERITS (Person);

CREATE TABLE Kunde (
KNr SERIAL NOT NULL,
KZahlungskondition INTEGER NOT NULL,
CONSTRAINT kunde_pk PRIMARY KEY (KNr))
INHERITS (Person);

CREATE TABLE Lieferant (
LNr SERIAL NOT NULL,
LLieferzeit INTEGER,
CONSTRAINT lieferant_pk PRIMARY KEY (LNr))
INHERITS (Person);

INSERT INTO Ort VALUES (1,'6374','Buochs');
INSERT INTO Ort VALUES (2,'6005','Luzern');
INSERT INTO Ort VALUES (3,'8008','Zrich');
INSERT INTO Ort VALUES (4,'3003','Bern');

INSERT INTO Person VALUES ('Mathis','Roger','Elfenaustrasse
25',2,0413600566,'roger(dot)mathis(at)gmx(dot)ch');

INSERT INTO Mitarbeiter (PName, PVorname, Ort_PLZNr, MEintritt) VALUES
('Gisler','Roland',2,'2002-07-02');

INSERT INTO Kunde (PName, PVorname, Ort_PLZNr, KZahlungskondition) VALUES
('Fischer','Peter',3,30);

INSERT INTO Lieferant (PName, PVorname, Ort_PLZNr, LLieferzeit) VALUES
('Treyer','Oskar',4,10);

CU Roger

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Andrea Chiado' Piat 2002-07-22 09:49:24 Windows - why not?
Previous Message Wim 2002-07-22 09:46:18 URGENT! pg_dump doesn't work!