Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Domain für bestimmte Zeichen erstellen (https://www.delphipraxis.net/101393-domain-fuer-bestimmte-zeichen-erstellen.html)

Texas 12. Okt 2007 13:39

Datenbank: Firebird • Zugriff über: fib plus

Domain für bestimmte Zeichen erstellen
 
Hallo,

ich möchte in einer Firebird db eine Domain anlegen in der man nur bestimmte Zeichen eingeben kann

Create Domain Keine_Buchstaben as CHAR (25) CHARACTER SET ISO8859_1
Check ((VALUE IS NULL) OR (VALUE IN ('0','1',...'-','/'usw).

Jetzt ist es aber nur möglich in dem Feld ein Zeichen einzutragen und nicht 25
wie kann ich das ändern.

Oder geht das gar nicht in der DB sodass ich die Formatierung im Programm vornehmen muss?



Danke schon mal im Voraus

Texas

marabu 12. Okt 2007 14:58

Re: Domain für bestimmte Zeichen erstellen
 
Hallo Michael,

über ein CHECK-Constraint wird das wohl nicht funktionieren. Du selbst gebrauchst das Schlüsselwort "Formatierung" - in der Datenbank würde ich ohne Not keine formatierten Daten ablegen wollen. Die beiden Sonderzeichen mal ausgenommen, scheinst du ja rein numerische Zeichenketten speichern zu wollen. Warum nicht gleich als NUMERIC speichern? Eine Formatierung ist doch nur für die externe Darstellung interessant.

Was sind denn das für Nummern? Artikelnummern? Telefonnummern? Bei Artikelnummern findet man oft eine fixe Stellenzahl für die Nummernbestandteile, was eine Formatierung bei der Ausgabe leicht macht. Bei Telefonnummern ist die Stellenzahl variabel, aber auch da gibt es Möglichkeiten: Eine Lookup-Table mit Vorwahlen gestattet z.B. die Trennung von Ortsnetz und Teilnehmernummer.

Meine Botschaft ist ganz klar: Formatierung wenn möglich nur bei der Ausgabe mit SELECT, Speicherung grundsätzlich in einem kanonischen Format.

Grüße vom marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:35 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz