![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 22.10.2004 Ostrzeżenie: (0%) ![]() ![]() |
Witam, chciałbym napisać funkcję + trigger które to będą odpowiedzielne za usuwanie wpisów z dwóch tabel na raz. Jedna tabela zawiera spis ludności (imię, nazwisko ... ), a druga zawiera opis do każdego z nich. Połączone są wspólnym id.
Chciałbym teraz napisać coś takiego, że w momencie kiedy usuwam kogoś z tabeli ludności, to automatycznie zostanie usunięty opis. Problem tkwi w tym, że funkcje typu 'trigger' z założenia nie mogą posiadać argumentów - a w moim przypadku konieczne jest przesłanie id_czlowiek do funkcji, żeby został usunięty odpowiedni człowiek z odpowiadającym mu opisem. Czytałem na różnych forach, że z tym brakiem argumentów, to tylko w teorii - a praktycznie można to jakoś obejść (tablica argumentów ?) Uprzedzę sugestie połączenia dwóch tabel w jedną - jest to zaliczenie i muszą być spełnione różne kryteria. Pozdrawiam. Ten post edytował krzyfn 9.06.2008, 06:56:25 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 289 Pomógł: 77 Dołączył: 5.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
może raczej InnoDB i klucze obce ?
edit- a bo jakoś jeszcze tak tępo patrze po tym meczu - pozdrawiam i przepraszam ![]() Ten post edytował _olo_1984 9.06.2008, 07:30:03 -------------------- awake
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
A nie mozesz skorzystac z kluczy obcych, ON DELETE CASCADE ?
Cytat Problem tkwi w tym, że funkcje typu 'trigger' z założenia nie mogą posiadać argumentów - a w moim przypadku konieczne jest przesłanie id_czlowiek do funkcji, żeby został usunięty odpowiedni człowiek z odpowiadającym mu opisem. http://www.postgresql.org/docs/8.0/interactive/triggers.html z tego co pisza masz dostep do OLD, rekordu ktory usuwasz, z ktorego pobierzesz sobie ID itd. edit: _olo_1984: to jest postgresql ![]() Ten post edytował dr_bonzo 9.06.2008, 07:24:22 -------------------- Nie lubię jednorożców.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 10 Pomógł: 0 Dołączył: 22.10.2004 Ostrzeżenie: (0%) ![]() ![]() |
Ok, zrobiłem coś takiego i działa:
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 31.07.2025 - 10:41 |