Ich habe nun eine SQL-Problem und ich kann die Lösung einfach nicht finden. Es etwas umfangreich, aber es wäre schön, wenn es sich trotzdem mal jemand ansehen könnte. Ich habe 3 Tabellen,die zusammenhängen, und immer wenn ich Elemente (bestehend aus einem Eintrag pro Tabelle) einfügen will erhalte ich Meldungen, dass UniqueConstraints verletzt sind.
Die Tabellen sind wie folgt definiert:
Das Ganze stellte eine Bezeihung dar und Client und Supplier sind deren "Mitglieder". Nun will ich eine Beziehung einfügen:
Aber für den Client und den Supplier erhalte ich die Fehlermeldung, ein Unique Constraint sei verletzt oder so. Ich kann auch nach intensiver Suche den Fehler nicht finden. Bitte helft mir!
Die Tabellen sind wie folgt definiert:
Code:
CREATE TABLE "UMLMDEPENDENCY"
( "VERSION" NUMBER(20,0),
"ID" VARCHAR2(255),
"STATUS" VARCHAR2(6) NOT NULL ENABLE,
"EDITOR" VARCHAR2(20),
"EDIT_DATE" TIMESTAMP (6),
"NAME" VARCHAR2(255),
"VISIBILITY" VARCHAR2(9),
"DBTYPE" VARCHAR2(30) NOT NULL ENABLE,
"ROLENAME" VARCHAR2(255),
"IDPARENT" VARCHAR2(255) NOT NULL ENABLE,
"VERSIONPARENT" NUMBER(20,0) NOT NULL ENABLE,
"MAPPINGKEY" NUMBER(20,0),
CHECK (status IN ('INSERT','CHANGE', 'DELETE')) ENABLE,
CHECK (visibility IN ('public', 'protected', 'private', 'package')) ENABLE,
CHECK (dbType IN ('Dependency', 'Usage', 'Abstraction', 'Realization', 'Substitution', 'InterfaceRealization')) ENABLE,
CONSTRAINT "UMLMDEPENDENCY_KEY" PRIMARY KEY ("VERSION", "ID") ENABLE,
CONSTRAINT "UMLMDEPENDENCY_MK" FOREIGN KEY ("MAPPINGKEY")
REFERENCES "UMLMOPAQUEEXPRESSION" ("TABLEKEY") ENABLE,
CONSTRAINT "UMLMDEPENDENCY_PK" FOREIGN KEY ("VERSIONPARENT", "IDPARENT")
REFERENCES "UMLMPACKAGE" ("VERSION", "ID") ENABLE,
CONSTRAINT "UMLMDEPENDENCY_V" FOREIGN KEY ("VERSION")
REFERENCES "VERSIONEN" ("TABLEKEY") ENABLE
)
CREATE TABLE "UMLMDEPENDENCYCLIENT"
( "TABLEKEY" NUMBER(20,0),
"EDITOR" VARCHAR2(20),
"EDIT_DATE" TIMESTAMP (6),
"CLIENTID" VARCHAR2(255) NOT NULL ENABLE,
"CLIENTVERSION" NUMBER(20,0) NOT NULL ENABLE,
"CLIENTTABLENAME" VARCHAR2(255) NOT NULL ENABLE,
"DEPENDENCYID" VARCHAR2(255) NOT NULL ENABLE,
"DEPENDENCYVERSION" NUMBER(20,0) NOT NULL ENABLE,
PRIMARY KEY ("TABLEKEY") ENABLE,
CONSTRAINT "UMLMDEPENDENCYCLIENT_DK" FOREIGN KEY ("DEPENDENCYVERSION", "DEPENDENCYID")
REFERENCES "UMLMDEPENDENCY" ("VERSION", "ID") ENABLE
)
CREATE TABLE "UMLMDEPENDENCYSUPPLIER"
( "TABLEKEY" NUMBER(20,0),
"EDITOR" VARCHAR2(20),
"EDIT_DATE" TIMESTAMP (6),
"SUPPLIERID" VARCHAR2(255) NOT NULL ENABLE,
"SUPPLIERVERSION" NUMBER(20,0) NOT NULL ENABLE,
"SUPPLIERTABLENAME" VARCHAR2(255) NOT NULL ENABLE,
"DEPENDENCYID" VARCHAR2(255) NOT NULL ENABLE,
"DEPENDENCYVERSION" NUMBER(20,0) NOT NULL ENABLE,
PRIMARY KEY ("TABLEKEY") ENABLE,
CONSTRAINT "UMLMDEPENDENCYSUPPLIER_DK" FOREIGN KEY ("DEPENDENCYVERSION", "DEPENDENCYID")
REFERENCES "UMLMDEPENDENCY" ("VERSION", "ID") ENABLE
)
Das Ganze stellte eine Bezeihung dar und Client und Supplier sind deren "Mitglieder". Nun will ich eine Beziehung einfügen:
Code:
INSERT INTO umlmdependency (version, id, status, editor, edit_date, name, visibility, dbtype, rolename, idparent, versionparent, mappingkey)
VALUES (9, '-4d4c86dd:11575884e99:-7fa6', 'INSERT', 'BA', TO_TIMESTAMP_TZ('2007-10-06 15:37:45.89', 'YYYY-MM-DD HH24:MI:SS.FF'), null, 'public', 'InterfaceRealization', 'ownedMember', '-4d4c86dd:11575884e99:-7ff4', 9, null)
INSERT INTO umlmdependencysupplier (tablekey, editor, edit_date, supplierid, supplierversion, suppliertablename, dependencyid, dependencyversion)
VALUES (3, 'BA', TO_TIMESTAMP_TZ('2007-10-06 15:37:46.468', 'YYYY-MM-DD HH24:MI:SS.FF'), '-4d4c86dd:11575884e99:-7fa7', 9, 'UMLMClassifier', '-4d4c86dd:11575884e99:-7fa6', 9)
INSERT INTO umlmdependencyclient (tablekey, editor, edit_date, clientid, clientversion, clienttablename, dependencyid, dependencyversion)
VALUES (3, 'BA', TO_TIMESTAMP_TZ('2007-10-06 15:37:48.765', 'YYYY-MM-DD HH24:MI:SS.FF'), '-4d4c86dd:11575884e99:-7faa', 9, 'UMLMClassifier', '-4d4c86dd:11575884e99:-7fa6', 9)
Aber für den Client und den Supplier erhalte ich die Fehlermeldung, ein Unique Constraint sei verletzt oder so. Ich kann auch nach intensiver Suche den Fehler nicht finden. Bitte helft mir!