online 1
gast (50)

/ Forum / Datenbanken

DatenbankenDatenbanken

Fragevon mctommson vom 20.03.2021, 17:33 Options

SQL Server 2008 Express ADV - Datentyp Listenfeld?

Hallo!

Ich möchte innerhalb einer Tabelle bei einer Spalte Test nur die Einträge A, B und C zulassen. Gibt es so eine Art Datentyp "Liste", in dem ich festlegen kann, welche Einträge möglich sind? Oder wo kann ich für eine Spalte 3 bestimmte Einträge vordefinieren?

Danke euch!
Lg,
Tommy!


Antwort schreiben

Antwort 1 von mctommson vom 23.03.2021, 00:16 Options

Oder muss ich das dann Softwareseitig implementieren?

Antwort 2 von RalfH vom 23.03.2021, 10:30 Options

Hi,
sowas kann man über einen Trigger und ner Store Procedure realisieren.
Aber was machst Du, wenn andere Kürzel eingegeben werden, sollen die Felder leer bleiben, oder in A,B oder C gewandelt werden, Wenn ja, nach welchen Kritierien?
Gruß Ralf

Antwort 3 von mctommson vom 23.03.2021, 11:21 Options

Hallo!

Naja, bei Access is es ja so, dass da nur diese 3 Möglichkeiten in einem Listenfeld zur Auswahl stehen. D.h.: eine andere Eingabe ist nicht möglich! Falls irgendwie doch eine andere Eingabe erfolgt, soll eine Fehlermeldung erscheinen. Da das Feld keine Null Werte zulassen soll, muss also eine der drei Möglichkeiten ausgewählt werden.

Da ich jetzt noch nicht sooo viel Ahnung von SQL Befehlen habe und das alles eigentlich über die Eingabemaske von SQL Server 2008 Express gemacht habe, würde ich gerne wissen, ob in diesem Fenster an der unteren Hälfte des Bildschirms (dort wo man auch Identifikationsspezifikationen macht) irgendwas eingestellt werden muss, oder ob das nur über SQL Befehle geht?

Lg

Antwort 4 von akainer vom 09.06.2021, 21:23 Options

Hallo,

für diesen Fall könntest du ein CHECK-Einschränkung verwenden.

Wenn du im Management-Studio im Tabellen-Design-Modus bist gibt es den in der Toolbar den Punkt Check-Einschränkungen verwalten.

Dort kannst du Bedingungen definieren, um Werte bei INSERT oder UPDATE zu prüfen.

Wenn du z.B. in der Spalte VALUE nur die Werte 'A', 'B' und 'C' zulassen willst kannst du das mit der folgenden Einschränkung erledigen.

([VLAUE]='A' OR [VALUE]='B' OR [VALUE]='C')
(Je nach Servereinstellung werden dann auch noch Kleinbuchstaben zugelassen).


Du kannst das ganze natürlich auch als Script schreiben und direkt in einem Abgrage-Editor-Fenster ausführen.

Dann sieht das in etwa so aus:

ALTER TABLE [dbo].[TABLE] WITH NOCHECK ADD CONSTRAINT [CK_CHECK_VALUE] CHECK (([VALUE]='A' OR [VALUE]='B' OR [VALUE]='C'))

wobei [dbo] das Schema [TABLE] die Tabelle und [VALUE] die Spalte darstellen.
[CK_CHECK_VALUE] ist der Name der Einschränkung.

LG
Andreas

Ähnliche Themen

Windows CE und SQL Server
ducky12  10.10.2007 - 105 Hits - 1 Antwort

unverträglicher Datentyp
Mrfivejunior  01.02.2008 - 10 Hits - 8 Antworten

SQL Server 2005
Pinsl  14.03.2008 - 17 Hits - 1 Antwort

Installation einer Datenbank "MS server SQL 2005"
micky01  21.07.2008 - 15 Hits - 1 Antwort

SQL Admin, SQL Querys werden nicht übermittel
Wolfi_86  27.10.2008 - 31 Hits - 1 Antwort

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026