![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 34 Pomógł: 1 Dołączył: 25.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Jak do tej pory wszystkie wieksze projekty (aplikacje webowe) tworzylem przy wykorzystaniu bazy MS SQL Server 2005 Express. Baza calkiem przyjemna, pomijajac brak wyrazen regularnych, zmiennych typu array oraz jednoplatformowosc. Przyszedl jednak moment, w ktorym trzeba bedzie sie przesiasc na baze wieloplatformowa (win, linux). Do wyboru mam MySQL oraz PosgreSQL. Sklanialbym sie w kierunku Posgresql (wieksze mozliwosci), jednak martwi mnie brak jak na dzisiejsze czasy procedur skladowanych - czyli brak mozliwosci oddzielenia logiki jezyka SQL od kodu PHP. Przy wykorzystaniu MS SQL'owych procedur skaldowanych mozna np zgrupowac kilka SELECTow i otrzymac poprzez jedno polaczenie z baza serie danych tabelaryczncych, np:
powoduje jednoszesne otrzymanie danych z trzech zapytan (a tylko jedno polaczenie do bazy). Czy istnieje analogiczna mozliwosc oddzielenia logiki SQL i pozostawienia jest w bazie PosgreSQL (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Z tego co udalo mi sie ustalic mamy tylko do dyspozycji fukcje skladowane, przez ktore nie da rady zwrocic wynikow zapytan kilku SELECTow jednoczescie... |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 254 Pomógł: 10 Dołączył: 8.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Niestety w PostgreSQL nie jest możliwe zwrócenie wyników o różnych ROWTYPE'ach (inny zestaw kolumn).
Jeśli jednak przeszkadzają ci wszelkie braki w funkcjonalności to raczej wybierz Postgre zamiast MySQL, ponieważ dla tego kryterium Postgre ma dużo większą przewagę nad MySQL. Jest naturalnie obejście dla podanego przez Ciebie problemu - typy złożone. Tylko nie wiem jak są one potem odbierane na poziomie aplikacji, ale najprawdopodobniej jako string w formacie ala JSON. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 03:22 |