Autor Beitrag
funcry
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 110
Erhaltene Danke: 1

Win7 64, XP 32
C# (VS 2010 EE), Delphi (TD 2006 Win32)
BeitragVerfasst: Sa 20.10.07 18:45 
Gibt es die Möglichkeit eine Firebird 2.0 Tabelle so zu erstellen, dass bei zwei Feldern gewährleistet ist, dass eines davon NOT NULL ist ?

Beispiel:

ausblenden SQL-Anweisung
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
CREATE TABLE "VM_ADRESSEN"
(
  "ID" BIGINT NOT NULL,

  "ID_VERPACKUNGSMITTEL" BIGINT NOT NULL,
  "TN" BIGINT NOT NULL,

  "NR_KUNDE" BIGINT,
  "NR_LIEFERANT" BIGINT,

CONSTRAINT "PK_VM_ADRESSEN" PRIMARY KEY ("ID")
);


NR_KUNDE oder NR_LIEFERANT müssen gefüllt sein.
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: Sa 20.10.07 20:20 
Sollte mit Hilfe eines CHECK-Contraints gehen.

_________________
Markus Kinzler.
funcry Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 110
Erhaltene Danke: 1

Win7 64, XP 32
C# (VS 2010 EE), Delphi (TD 2006 Win32)
BeitragVerfasst: Sa 20.10.07 22:53 
Danke für den Hinweis, das um diesen Befehl erweiterte SQL-Skript:

ausblenden SQL-Anweisung
1:
ALTER TABLE "VM_ADRESSEN" ADD CHECK ("NR_KUNDE" IS NOT NULL OR "NR_LIEFERANT" IS NOT NULL);					


führt den Check jetzt aus.