Do czego są wykorzystywane języki rozszerzające SQL takie jak PL/sql, PL/pgSQL? Jakie problemy one rozwiązują(automatyzują?)?
- Rejestracja:prawie 13 lat
- Ostatnio:6 miesięcy
- Postów:227
- Rejestracja:ponad 10 lat
- Ostatnio:ponad 8 lat
- Postów:14
Służą one do programowania procedur składowanych. Dzięki nim możesz przenieść część obliczeń na serwer bazodanowy, np. jeżeli masz kilka aplikacji podpiętych od jednej bazy możesz nimi zaprogramować wspólne procedury.
Pozwalają na tworzenie własnych procedur i funkcji. Przykładowo można napisać funkcję, która będzie formatować numer NIP przed wstawieniem go do bazy. Można za ich pomocą przenieść część logiki do bazy co czasami ma sens(np. gdy zaprogramowanie tego w normalnych językach jak Java czy php było by upierdliwe).
- Rejestracja:prawie 12 lat
- Ostatnio:około 9 lat
- Postów:57
Do jakieś kontrolki napisanej w danym języku możesz podpiąć wykonanie pewnej procedury która zmodyfikuje pewne dane znajdujące się już w bazie danych. Dodatkowo możesz wykorzystać triggery które umożliwią Ci wykonanie pewnej czynności w przypadku dodania/zmodyfikowania/usunięcia pewnych danych (np. usuwasz pewne dane z bazy a przy za pomocą triggera usuwasz powiązania z tą daną). Poprzez funkcje możesz wykonać skomplikowane obliczenia na bazie - np. przeliczanie pewnych statystyk.
Na dane wchodzące, istniejące jak i zewnętrzne (dzieci nie róbcie tego w domu). Przykładowo:
Dane istniejące (aktualizacja wszystkich wartości np. nowe formatowanie):
Update my_table set my_field = my_procedure(my_field);
Dane wchodzące (formatowanie danych wchodzących):
insert into my_table (my_field) values(my_procedure(some_value));
Dane zewnętrzne (składania działa z tabelą DUAL
):
Select my_procedure() from DUAL
Gdzie my_procedure
woła sobie np. REST-owy serwis za pomocą jakiejś dodatkowej biblioteki.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.