Maska na kod pocztowy

QK
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam! Dzięki za pomoc w wcześniejszych postach. Teraz mam problem ze PL/SQL ponieważ nie zabardzo wiem jak nałożyć maskę na kolumnę z kodem pocztowym żeby akceptowała tylko dane formatu [0-9][0-9][0-9][0-9][0-9]. Tym int i number odpadają ponieważ obcina zera jeżeli kod pocztowy by był np. 09098. Mam tym char na kolumnie. Moge napisać procedure sprawdzajaca ale też nie widze koncepcji jak by to zrobic. Prosze o rady. Z góry dziękuję.

Pozdrawiam.

JE
  • Rejestracja: dni
  • Ostatnio: dni
0

niestety nie mam w tej chwili zainstalowanego orakla
ale próbowałbym jakoś tak

Kopiuj
create table tabelka(
  kod varchar2(5) check (kod like _____),
  .....
)

pod warunkiem, że tego like można włożyć do środka check
tu jest napisane jak działa like, czyli sposób nakładania dość prostych warunków na ciągi znakowe

ewentualnie jakiś trigger przy wstawianiu, który rzuci wyjątek, w przypadku złego formatowania

crowa
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Poznań
  • Postów: 295
0
Kopiuj
CREATE TABLE tabelka
(
  [kod] VARCHAR(5) NOT NULL CHECK (LEN(kod) = 5 AND CAST(kod AS INT) > 0)
)

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.