Primary Key

Hallo liebe User, ich habe drei tabellen angelegt, von denen jeweils eine als Referenztabelle dient: ich bekomme aber jedesmal die fehlermeldung, wenn ich die tab. bestellposten anlegen möchte, das „Eindeutige und Primärschlüssel in Tabelle von Fremdschlüsseln referenziert“ ist, ich komm nicht darauf was er mit meint… kann mir einer helfen?
grüße coco

hier mal die tabs:
CREATE TABLE Kunde (
name VARCHAR(20),
kunde_id NUMBER(10) PRIMARY KEY,
adresse VARCHAR (30),
passwort VARCHAR (10)
)storage (initial 2 k);

CREATE TABLE Bestellmeldungen (
bestellmeld_id NUMBER(10) PRIMARY KEY,
bestellsatz VARCHAR(200),
zeit TIMESTAMP,
constraint bm_r
foreign key (bestellmeld_id)
references bestellposten

)storage (initial 2 k);

bei dieser tab meckert er:
CREATE TABLE bestellposten (
bestell_id number(10) primary key,
bestell_bezeichnung varchar(30),
bestell_menge number(4),
datum date,
constraint bp_r
foreign key (bestell_id)
references kunde
constraint bp_r2
check (bestell_menge

Moin, coco,

> CREATE TABLE Bestellmeldungen (  
> **bestellmeld\_id** NUMBER(10) PRIMARY KEY,  
> bestellsatz VARCHAR(200),  
> zeit TIMESTAMP,  
> constraint bm\_r  
> foreign key **(bestellmeld\_id)**bestell\_id number(10) primary key,  
> bestell\_bezeichnung varchar(30),  
> bestell\_menge number(4),  
> datum date,  
> constraint bp\_r  
> foreign key (bestell\_id)  
> references kunde  
> constraint bp\_r2  
> check (bestell\_menge Noch Fragen?


Gruß Ralf

CREATE TABLE bestellposten (
bestell_id number (10) primary key,
bestell_bezeichnung varchar(30),
bestell_menge number(4),
datum date,
constraint bp_r
foreign key (bestell_id)
references kunde
constraint bp_r2
check (bestell_menge

Noch Fragen?
Gruß Ralf

Ja ich hätte da noch eine Frage: Warum steht da ein commit?
Commit braucht man doch nur bei DML-Befehlen. Beim erstellen von Tabellen usw. (DDL-Befehle) gibt es doch ein Autocommit (den man auch nicht ausschalten kann so viel ich weiß)
(Gilt zumindest für Oracle)
oder irre ich mich da irgendwie Grundlegend?

(Ok. Ein Commit schadet nicht, aber es bringt auch nichts, oder?)

Grüße

Matthias

Moin, Matthias,

(Ok. Ein Commit schadet nicht, aber es bringt auch nichts,
oder?)

fast so ist es - jedenfalls an dieser Stelle. Ein Commit ist eigentlich nur zusammen mit einem möglichen Rollback sinnvoll, wenn er also den definitiven Abschluss einer Transaktion bildet, die aus mehreren ändernden Anweisungen besteht. Dann bestätigt man mit dem Commit die bisherigen Änderungen, wenn sie alle durchgeführt werden konnten, oder sie werden komplett verworfen.

Gruß Ralf