Znalazłem w this article, że od ORACLE 10g istnieje sposób, aby uczynić określoną sesję połączenia porównywać ciągi znaków bez rozróżniania wielkości liter, bez potrzeby korzystania z żadnych szalonych funkcji SQL, używając ALTER SESSION
.ORACLE 11g niewrażliwe na wielkość domyślnie
Czy ktoś wie, czy w 11g może istnieć sposób na to, aby baza danych zawsze działała w tym trybie domyślnie dla wszystkich nowych sesji połączeń, eliminując w ten sposób konieczność uruchamiania ALTER SESSION
s przy każdym połączeniu?
A może, dodatkowy parametr, który można określić na ciąg połączenia, który by włączyć to samo?
Mimo, że cytat z dokumentacji Oracle, nie ma sensu "niezależnie od ścieżki wybranej przez optymalizator". Bardziej użytecznym odnośnikiem do tego jest http://download.oracle.com/docs/cd/B19306_01/server.102/b14225/ch5lingsort.htm#sthref650 –
"Dobry link do prawidłowego użycia parametrów NLS_ *" W mojej odpowiedzi podałem ten sam link i informacje, które podałeś, z wyjątkiem tego, że link w mojej odpowiedzi pochodzi z dokumentacji 11g. –
Pracuję teraz z tym problemem i stwierdziłem, że aby uniknąć problemów z wydajnością, można utworzyć indeks CI dla kolumny: create index nazwa_indeksu na table_name (NLSSORT (column_name, 'NLS_SORT = BINARY_CI')); [odniesienie] (http://geekzspot.blogspot.com.es/2010/01/case-insensitive-oracle-database.html) – Marc