Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> kasowanie powiązanego wiersza
php programmer
post
Post #1





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

Ostrzeżenie: (0%)
-----


Witam, mam taki problem,

otóż jest tabela,z której chcę skasować w PgAdminie (nie mylić z phpPgAdminem),
pewną ilość wierwszy, jednak nie mogętego zrobić, ponieważ te id tych wierszy,
stanowi klucz obcy (referencję), w innej tabeli.

Tak więc moj problem polega na napisaniu triggera
i prawdopodobnie powiązanej do niego procedury

Czyli coś takiego:
  1. CREATE TRIGGER tr_delete_cascade
  2. BEFORE DELETE ON tabela_gdzie_kasuje
  3. i tutaj już pseudokod
  4. SKASUJ NAJPIERW WIERSZ
  5. z tej innej tabeli, która zawiera klucz obcy odnoszący się do
  6. tabela_gdzie_kasuje


to będzie mójpierwszy TRIGGER więc proszę o wyrozumiałośc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
SongoQ
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


No to cos w tym stylu, pomijam juz definicje triggera tylko pisze jego cialo

  1. DELETE FROM tabela_rodzica WHERE id = OLD.id jako klucz obcy do tabeli;


Takie rozwiaznie ma wielki minus tabela rodzica nie moze miec dzieci, bo wtedy bedziesz mial blad. Mozesz ewentualnie przed delete dac selecta ktory zwroci czy ma dzieci i wtedy wyrzucic blad lub zwrocic blad z usuniecia. Ale tak czy inaczej w ten sposob sie da zrobic.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 12:23