AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Interbase: Fehler bei Create TTable
Thema durchsuchen
Ansicht
Themen-Optionen

Interbase: Fehler bei Create TTable

Ein Thema von r_kerber · begonnen am 7. Nov 2003 · letzter Beitrag vom 7. Nov 2003
Antwort Antwort
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#1

Interbase: Fehler bei Create TTable

  Alt 7. Nov 2003, 07:58
Hallo Interbase-Fachleute,

warum liefert Interbase 6.5 bei folgendem SQL-Staetment
SQL-Code:
CREATE TABLE Mitarbeiter
(
   Personalnummer INTEGER NOT NULL,
   Name VARCHAR (30) NOT NULL,
   Vorname VARCHAR (20) NOT NULL,
   Geschlecht CHAR,
   Strasse VARCHAR (50) NOT NULL,
   Hausnummer CHAR (6),
   Plz INTEGER,
   Abteilungsbezeichnung VARCHAR (30),
   NameEhepartner VARCHAR (30),
   VornameEhepartner VARCHAR (20),
   GeburtsdatumEhepartner DATE,
   GeschlechtEhepartner CHAR,
   PersonalnummerVorgesetzter INTEGER,
   Gehalt DECIMAL(10,2),
   /* Primärschlüssel */ 
   CONSTRAINT pk_Mitarbeiter PRIMARY KEY (Personalnummer),
   /* Fremdschlüssel */ 
   CONSTRAINT fk_PlzMitarbeiter FOREIGN KEY (Plz)
      REFERENCES Ort (Plz)
        ON DELETE SET NULL
        ON UPDATE CASCADE,
   CONSTRAINT fk_Abteilungsbez FOREIGN KEY (Abteilungsbezeichnung)
      REFERENCES Abteilung (Abteilungsbezeichnung)
        ON DELETE SET NULL
        ON UPDATE CASCADE,
   CONSTRAINT fk_PersonalnrVor FOREIGN KEY (PersonalnummerVorgesetzter)
      REFERENCES Mitarbeiter (Personalnummer)
        ON DELETE SET NULL
        ON UPDATE CASCADE,
   /*Domain-Integritätsbedingungen */ 
   CONSTRAINT di_Geschlecht CHECK (( GeschlechtEhepartner IN ('M', 'W') OR GeschlechtEhepartner IS NULL) AND Geschlecht IN ('M', 'W') )
)
den Fehler:
Zitat:
STORE RDB$RELATION_CONSTRAINTS failed
attempt to store duplicate value (visible to active transactions) in unique index "RDB$INDEX_12"
Das Statement ist nicht von mir "erfunden". Ich habe es aus dem Buch "Datenbankkonzepte in der Praxis" von Sönke Cordts. Es ist ein Teil einer langen Liste von Create-Statements.
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Interbase: Fehler bei Create TTable

  Alt 7. Nov 2003, 08:15
Hallo r_kerber,

die Namen der Contraints müssen in der gesamten Datenbank eindeutig sein, d.h. zwei Tabellen dürfen nicht denselben Namen für einen Constraint benutzen. Ist das in deinem Fall sicher gestellt?
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#3

Re: Interbase: Fehler bei Create TTable

  Alt 7. Nov 2003, 08:35
Faszinierend.

Das wars. Einfach einen namen geändert und jetzt läuft es. Da ist den Buchautoren wohl ein Fehler unterlaufen.
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Interbase: Fehler bei Create TTable

  Alt 7. Nov 2003, 08:46
Hallo r_kerber,

so is dat halt mit die Bücha .

Aber was mich schockiert , gibt es auch Einträge, die der Bedingung:

GeschlechtEhepartner IS NULL genügen, und wenn ja, wie genau ist diese Aussage zu interpretieren ?

Ooops, ich glaube das wird dann off-topic.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#5

Re: Interbase: Fehler bei Create TTable

  Alt 7. Nov 2003, 08:59
Hallo Spockie,

das Skript war aber extra für Interbase!

Zu Deiner OffTopic-Frage : Ich vermute, das Geschlecht des Ehepartners ist dann NULL, wenn es keinen Ehepartner gibt.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz