Category: Parametryzacja

23/09/2008

Permalink 21:34:40, by admin Email , 140 words   Polish utf-8 (PL)
Categories: Parametryzacja

NLS_LENGTH_SEMANTICS - BYTE lub CHAR

Parametr NLS_LENGTH_SEMANTICS określa domyślną metodę dla liczenia rozmiaru kolumn tekstowych. Jeżeli parametr ten jest pominięty lub ustawiony na BYTE wtedy kolumna VARCHAR2(1) może zmieścić 1 znak ale nie zawsze. Wystarczy, że utworzymy taką kolumnę na bazie z kodowaniem w którym jeden znak zajmuje więcej niż 1 bajt (np. UTF-8)... i kolumna okaże się za mała nawet na pojedynczą literę.

Jeżeli więc pracujemy w "wielobajtowym" kodowaniu najlepiej ustawić ten parametr na "CHAR" i zapomnieć o problemie jakim byłoby każdorazowe deklarowanie rozmiaru kolumny jako VARCHAR2(1 CHAR), tak na środowisku deweloperskim jak i później na produkcyjnym.

Jeżeli się zagapiliśmy i utworzyliśmy obiekty bazujące na BYTE możemy łatwo wygenerować skrypty które zmodyfikują definicję kolumn.

Przykładowo:
http://sql.imaginacja.org/blog1.php/2008/09/25/masowa-zmiana-definicji-kolumn-tekstowyc

January 2009
Mon Tue Wed Thu Fri Sat Sun
 << <   > >>
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

Search

XML Feeds

powered by b2evolution free blog software