![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 129 Pomógł: 2 Dołączył: 17.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Przeszukałem polska dokumentacje Postgre... jednym słowem bieda. W angielskim podręczniku szybko sie pogubiłem. Aczkolwiek po dośc intensywnych poszukiwaniach za pomoca google doszłem do paru kiepsko opisanych przykładów. Czy posiadacie linki do jakichś interesujących artów, lub ebooki dotyczace trigerów i funkcji? Postgre daje wiele mozliwości ale nie wiem jak sie do tego wziąść bo nie mam materiałów które byłyby dla mnie użyteczne. Możliwe ze uznacie ten temat za prośbe lamy która chciałaby wszystko miec podane na tacy, niestety moja desperacja ośiagnęła juz szczyty. Jęzeli wy mi nie pomozecie to moge juz zaopmniec o PgSQL... chyab ze kupie książke za stówe (ale narazie mnie nie stać).
-------------------- Słowa, słowa, słowa... - Hamlet || Funkcje, funkcje, funkcje... - Luke Star
-------------------------------------- Portal Literacki: ( |||------- ) 30% |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
Uważam, że jak w manualu znajdzie się już interesujący rozdział, to można sobie z nim poradzić:
http://www.postgresql.org/docs/8.1/interactive/triggers.html http://www.postgresql.org/docs/8.1/interactive/plpgsql.html http://www.postgresql.org/docs/8.1/interactive/xplang.html -------------------- "Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 30.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Też to przerabiałem (rozumiem twój ból).
Generalnie jestem na etapie następującym: Tworzysz trigger, który wywołuje "funkcję trigger". Funkcja trigger teoretycznie nie może przyjmować parametrów, ale praktycznie może, poprzez odwołanie do tablicy parametrów (coś a` la args[] z C++). Funkcja trigger zwraca trigger. Oczywiście jest to poza tym normalna funkcja, która może robić to na co akurat masz ochotę. Co ważne, trigger można wyłączyć/włączyć. Triggery założone na różnych tabelach mogą wywoływać tą samą funkcję - to oczywiste - ale możesz założyć trigger o tej samej nazwie na innej tabeli z wywołaniem innej funkcji i też bangla. Dodałbym kilka przykładów ale kurczak nie mam akurat źródeł pod ręką. Jak masz pytania - wal śmiało, jak będę wiedział - odpowiem. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 3 Dołączył: 4.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
a w jaki sposob moge zmusisc funkcje aby ta mi zwracala 2 wartosci a nie jedna, bo jak jaj dam:
to mi wywala, ze jest blad przy char, po returns jest jakas mozliwosc aby mi funkcja zwrucila te 2 wartosci czy trzeba kombinowac w inny sposob ? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 17 Dołączył: 23.06.2006 Ostrzeżenie: (0%) ![]() ![]() |
Ogólnie w programowaniu jest tak, ze zwracana jest zawsze jedna zmienna (typ danych). Zeby przy funkcji return zwrocic wiecej danych trzeba to zrobic w postaci obieku lub tablicy najprosciej, nie stosowałem tego w praktyce, więc tu raczej nie pomogę, lecz znalazłem ciekawy link, ktory mam nadzieje poprowadzi Cie w dobra strone.
Link Pozdrawiam serdecznie -------------------- serwiswww.pl
|
|
|
![]() ![]()
Post
#6
|
|
![]() Administrator serwera Grupa: Developerzy Postów: 521 Pomógł: 13 Dołączył: 2.04.2004 Skąd: 52°24' N 16°56' E Ostrzeżenie: (0%) ![]() ![]() |
a w jaki sposob moge zmusisc funkcje aby ta mi zwracala 2 wartosci a nie jedna, bo jak jaj dam:
to mi wywala, ze jest blad przy char, po returns jest jakas mozliwosc aby mi funkcja zwrucila te 2 wartosci czy trzeba kombinowac w inny sposob ? Przeczytaj to, zwróć szczególną uwagę na punkt 10.20 -------------------- Środowisko: Gentoo 2008.0 | Apache | PHP5 | PostgreSQL | MySQL | Postfix
Workstation: Gentoo 2008.0 | Firefox Thomas Alva Edison: "Aby coś wynaleźć wystarczy odrobina wyobraźni i sterta złomu ..." Odpowiedź na każde pytanie typu "Jak ...": "Nie da się, to nie PostgreSQL" |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 00:39 |