![]() |
![]() |
![]()
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:
to będzie mójpierwszy TRIGGER więc proszę o wyrozumiałośc |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 045 Pomógł: 5 Dołączył: 8.11.2004 Skąd: trójmiasto Ostrzeżenie: (0%) ![]() ![]() |
ale to chyba nie tak,
może się mylę, ale kasowanie kaskadowe powoduje chyba kasowanie w dół, a w moim przypadku cchodzi o kasowanie w górę |
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Zgadza sie, ale zobacz co napisales:
Cytat otóż jest tabela,z której chcę skasować w PgAdminie [...], pewną ilość wierwszy, jednak nie mogę tego zrobić, ponieważ te id tych wierszy, stanowi klucz obcy [...] w innej tabeli. Czyli chodzi ci o kasowanie "w dol", czyli usunac rodzica i dzieci ktore sie do niego odwoluja (rodzic_id to bedzie FK). Bo w drugastrone to nie mialbys problemow z usuwaniem -- pozwoliloby ci usunac te wiersze. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 045 Pomógł: 5 Dołączył: 8.11.2004 Skąd: trójmiasto Ostrzeżenie: (0%) ![]() ![]() |
Acha OK, jednak mimo wszystko wolał bym użyć TRIGGERA,
ponieważ wolałbym uniknąc zmiany samej deklaracji tabeli, Ten post edytował php programmer 28.09.2006, 10:26:25 |
|
|
![]()
Post
#6
|
|
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
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. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 01:34 |