ugrás a tartalomhoz

Postgresql szabály törlés esetén

piszur · 2009. Jan. 6. (K), 17.45
Sziasztok!

Az alábbi feladatra keresek megoldást:

Adatbázis kezelő: postgresql
Adott két tábla (jelen esetben sportagak és versenyek), ahol a
versenyek táblájában egy mező jelzi, hogy mely sportág tartozik
hozzá.

Azt szeretném elérni, hogy addig ne lehessen törölni egy rekordot
a sportágak közül, amíg van rá hivatkozás a versenyek között.

Lehetséges ez egyáltalán? És hogyan?

A két tábla felépítése:

CREATE TABLE sportagak (
  sportag_id INT4 NOT NULL, 
  sportag_nev VARCHAR NOT NULL,
  sportag_leiras TEXT
);

CREATE TABLE versenyek (
  verseny_id INT4 NOT NULL,        
  verseny_nev VARCHAR NOT NULL,
  verseny_idopont TIMESTAMP with time zone NOT NULL,
  verseny_logo VARCHAR NOT NULL,
  verseny_leiras TEXT,
  verseny_url VARCHAR,
  verseny_status INT2 NOT NULL,
);
Természetesen a köztes réteg (jelen esetben perl) ezt nem engedi,
de szeretném adatbázis szinten is korlátozni.

Előre is köszönöm,
k
 
1

hopp, kimaradt a lényeg!

piszur · 2009. Jan. 6. (K), 17.50
A versenyek táblában természetesen van egy sportag_id nevű mező!

Tehát helyesen:

CREATE TABLE versenyek (  
  verseny_id INT4 NOT NULL,          
  sportag_id INT4 NOT NULL,
  verseny_nev VARCHAR NOT NULL,  
  verseny_idopont TIMESTAMP with time zone NOT NULL,  
  verseny_logo VARCHAR NOT NULL,  
  verseny_leiras TEXT,  
  verseny_url VARCHAR,  
  verseny_status INT2 NOT NULL,  
);
2

keress

gex · 2009. Jan. 6. (K), 17.57
http://weblabor.hu/forumok/adatbazisok -> http://weblabor.hu/forumok/temak/100724

tényleg nem lett volna nehéz megtalálni...
3

Valóban...

piszur · 2009. Jan. 6. (K), 20.42
még olvastam is annak idején, sőt... :(

Köszönöm!

k