jaw9 Skrevet 6. april 2005 Del Skrevet 6. april 2005 hei, jeg har et prosjekt gående og har liten opplæring med sql plus på oracle-database. Er det noen som ser hvor jeg har feilen? gjerne gi meg en rett kode dersom de gidder. Jeg skal ordne sekvenser på IDene selv så trenger ikke tenke på det create table forum( forumnummer integer primary key, forumNavn varchar(60) not null); create table tema( temaID integer primary key, temaNavn varchar(50) not null, temaDato date, foreign key(forumnummer) references forum); create table traad( traadID integer primary key, traadNavn varchar(50) not null, traadDato date, foreign key(temaID) references tema); create table innlegg( innleggID integer primary key, innleggDato date, innleggTekst varchar(50) not null, foreign key(traadID) references traad, foreign key(brukerID) references bruker); create table bruker( brukerID integer primary key, brukerNavn varchar(50) not null, brukerBrukernavn varchar(50) not null, brukerPassord varchar(50) not null, brukerEpost varchar(50) not null, foreign key(forumID) references forum); commit; Og her er feilmld jeg får FEIL på linje 5: ORA-00904: "FORUMNUMMER": ugyldig ID foreign key(temaID) references tema) * Lenke til kommentar
kaffenils Skrevet 6. april 2005 Del Skrevet 6. april 2005 Hvis Oracles SQL syntax er noe liknende MS SQL Servers så skal det være slik: create table forum( forumnummer integer primary key, forumNavn varchar(60) not null); create table tema( temaID integer primary key, temaNavn varchar(50) not null, temaDato date, forumnummer integer, foreign key(forumnummer) references forum(forumnummer)); Godt mulig at dette ikke validerer, men hovedpoenget er at foreign key nøkkelordet må fortelle hvilken kolonne i tema tabellen som refererer hvilken kolonne i forum tabellen. Altså, forumnummer i foreign key(forumnummer) peker til kolonnen i tabellen tema, mens forum(forumnummer) refererer til kolonnen forumnummer i tabellen forum. Slik er det iallefall på SQL Server, mer eller mindre (husker ikke syntaxen 100% i hodet). Mulig at nøkkelordet constraint navn skal være foran foreign key. Lenke til kommentar
mysjkin Skrevet 11. april 2005 Del Skrevet 11. april 2005 Mulig at det kan gjøres enklere enn det også: create table forum( forumnummer integer primary key, forumNavn varchar(60) not null); create table tema( temaID integer primary key, temaNavn varchar(50) not null, temaDato date, forumnummer integer references forum(forumnummer)); I alle fall er det som kaffenils sier, du må nok peke til kolonnen og ikke bare tabellen. M. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå