Posts

Es werden Posts vom 2026 angezeigt.

Eine Postleitzahl ist kein VARCHAR2

Data Use Case Domains in Oracle 26ai Eine Domain ist ein eigenes Schemaobjekt. Nehmen wir eine deutsche Postleitzahl: CREATE DOMAIN deutsche_plz AS CHAR(5)      CONSTRAINT deutsche_plz_chk      CHECK (REGEXP_LIKE(deutsche_plz, '^[0-9]{5}$')); Damit haben wir einmal festgelegt: Eine DEUTSCHE_PLZ besteht aus genau fünf Ziffern. Beim Anlegen einer Tabelle lässt sich diese Domain einer Spalte zuordnen: CREATE TABLE kunde (     kunden_id NUMBER PRIMARY KEY,     name     VARCHAR2(100),     plz      CHAR(5) DOMAIN deutsche_plz ); Jetzt funktioniert es: INSERT INTO kunde VALUES (1, 'Müller', '60311'); Das hier dagegen nicht: INSERT INTO kunde VALUES (2, 'Meier', '60 A 11'); Der Check steckt nicht in KUNDE, sondern stammt aus der Domain. Dieselbe Domain kann anschließend auch für LIEFERADRESSE.PLZ, FILIALE.PLZ oder andere passende Spalten verwendet werden. Oracle wendet die Eigenschaften und Constraints der Dom...