![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 7.09.2006 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Jak wiadomo, co SZBD, to inny dialekt SQL - ogólnie język jest taki sam w większości systemów, ale są pewne, czasem subtelne, różnice. Weźmy full text search - w MySQL się robi to przez MATCH AGAINST, w PostgreSQL za pomocą specjalnych funkcji, w innych bazach też pewnie jeszcze inaczej. Ale też różnice występują w takich pierdółkach, jak warunek sprawdzający wyrażenie regularne - w MySQL jest REGEXP, a w PostgreSQL jest po perlowemu - "~", no i nieszczęsny LIMIT OFFSET, który w MS SQL to select top n i trzeba ogólnie kombinować, by uzyskać podobny efekt (mimo że to MS SQL jest tu bardziej zgodny ze standardem, Oracle podobnie, choć nie w pełni). Czy jest jakieś gotowe rozwiązanie, które pozwoli tworzyć zapytania dla poszczególnych dialektów, zależnie od bazy do której jesteśmy połączeni? Chciałbym niektóre "zaawansowane" funkcje wykorzystywać, a chęć zachowania jakiegoś poziomu uniwersalności to dosyć utrudnia.
Najchętniej nic z PEAR. ![]() A może sam PDO w pewnym stopniu to za nas załatwia? Będę wdzięczny za wszelkie sugestie! Edit: Znalazłem niezłe porównanie dialektów: http://troels.arvin.dk/db/rdbms/ . Oczywiście pytanie aktualne. ![]() Ten post edytował macbirdie 30.09.2006, 16:23:26 -------------------- NotePad++ / Eclipse 3.3 (+PDT+PyDev+WTP) / VS 2005 Standard (+WTL 8.0+WM 2003 SDK/WM 5.0 SDK) / Glassfish / php 5.2.3 / Apache 2.2.x / MySQL 5.0.x / PostgreSQL 8.2.x / cvsd / violin 2.0 / piano 0.7-pre :P
|
|
|
![]() |
![]()
Post
#2
|
|
![]() 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%) ![]() ![]() |
To zalezy od stopnia skompikowania zapytania. Oracle wprowadzilo pakiety ktore nie znajduja sie w innych bazach i watpie zeby byl opowiednich. Dla roznic jezykowych w wiekszosci przypadkow da sie to zorganizowac dzieli DBLayer takich jak np Creole czy Adodb.
Odnosnie PDO to nie ma czegos takiego zaimplementowanego, jest to tylko api gdzie uzywamy tych samych metod dostepu do bazy danych. -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 09:33 |