Mam nastepujacy problem - w mojej bazce chcialbym zeby po usunieciu rekordu z tabeli 'eventy' usuwane byly wczesniej wszystkie wpisy z tabeli 'powiazania'.
Tabela powiazania sluzy do przyporzadkowania uczestnikow z innej tabeli do odpowiednich eventow.
Kolumny tabeli powiazania to id_powiazania (klucz glowny), id_eventu (klucz obcy), id_uczestnika (klucz obcy). Kolumny tabeli eventy chyba nieistotne.
Zrobilem taki trigger:
CREATE TRIGGER usun_powiazania_event BEFORE DELETE ON eventy FOR EACH ROW EXECUTE PROCEDURE delete_pow_eve();
i taka funkcje:
CREATE FUNCTION delete_pow_eve() RETURNS TRIGGER AS ' BEGIN DELETE FROM powiazania WHERE id_eventu=OLD.id_eventu; RETURN NULL; END; ' LANGUAGE 'plpgsql';
Niestety uniemozliwia to w ogole usuwanie czegokolwiek z tabeli eventy, w dodatku nie zwracany jest zaden blad a jedynie DELETE 0. Co robie nie tak?