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:
  1. CREATE TABLE sportagak (  
  2.   sportag_id INT4 NOT NULL,   
  3.   sportag_nev VARCHAR NOT NULL,  
  4.   sportag_leiras TEXT  
  5. );  
  6.   
  7. CREATE TABLE versenyek (  
  8.   verseny_id INT4 NOT NULL,          
  9.   verseny_nev VARCHAR NOT NULL,  
  10.   verseny_idopont TIMESTAMP with time zone NOT NULL,  
  11.   verseny_logo VARCHAR NOT NULL,  
  12.   verseny_leiras TEXT,  
  13.   verseny_url VARCHAR,  
  14.   verseny_status INT2 NOT NULL,  
  15. );  
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:
  1. CREATE TABLE versenyek (    
  2.   verseny_id INT4 NOT NULL,            
  3.   sportag_id INT4 NOT NULL,  
  4.   verseny_nev VARCHAR NOT NULL,    
  5.   verseny_idopont TIMESTAMP with time zone NOT NULL,    
  6.   verseny_logo VARCHAR NOT NULL,    
  7.   verseny_leiras TEXT,    
  8.   verseny_url VARCHAR,    
  9.   verseny_status INT2 NOT NULL,    
  10. );  
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