Goliath Skrevet 18. juni 2006 Del Skrevet 18. juni 2006 (endret) Hva er galt her? CREATE TABLE studentregister( snr NUMBER(5), fornavn VARCHAR2(20), etternavn VARCHAR2(10), adresse VARCHAR2(20), constraint snr [PRIMARY KEY (snr)]); Får denne feilmeldingen opp: ORA-00904::invalid identifier Endret 18. juni 2006 av überGoliath Lenke til kommentar
Mr-CEO Skrevet 18. juni 2006 Del Skrevet 18. juni 2006 Uten å ha den minste anelse om noenting skal jeg alikevel spørre deg om en ting Hvorfor har to av variablene VARCHAR2 og den siste VARCHAR ? Lenke til kommentar
Goliath Skrevet 18. juni 2006 Forfatter Del Skrevet 18. juni 2006 (endret) bare en skriveleif fra min side..endret! anyone..? Endret 18. juni 2006 av überGoliath Lenke til kommentar
roac Skrevet 18. juni 2006 Del Skrevet 18. juni 2006 (endret) Hva er galt her? CREATE TABLE studentregister( snr NUMBER(5), fornavn VARCHAR2(20), etternavn VARCHAR2(10), adresse VARCHAR2(20), constraint snr [PRIMARY KEY (snr)]); Får denne feilmeldingen opp: ORA-00904::invalid identifier 6329926[/snapback] Hvis du ser på feilmeldingen du får (den hele), så ser du at det står en * under [, som indikerer hvor feilen er. Korrekt kode som fungerer helt fint vil være: CREATE TABLE studentregister( snr NUMBER(5), fornavn VARCHAR2(20), etternavn VARCHAR2(10), adresse VARCHAR2(20), CONSTRAINT snr PRIMARY KEY (snr)); Ellers foretrekker jeg helt klart å ha et navn på constraints som i seg selv sier hvilken tabell den hører til. Dette er av flere grunner, du kan blant annet ikke ha to constraints som heter det samme. I en større databasemodell blir det fort to kolonner som heter det samme, som du ønsker å ha constraint på. Litt mer omdiskutert er det dog om man skal ha et prefiks for type constraint, f eks fkFremmednøkkel, pkPrimærnøkkel, ukUnik, ckCheck. Endret 18. juni 2006 av roac Lenke til kommentar
Gjest Slettet+142 Skrevet 18. juni 2006 Del Skrevet 18. juni 2006 snr NUMBER(5), burde ikkje egentlif "NUMBER" gjøres om til INT ?? Lenke til kommentar
roac Skrevet 18. juni 2006 Del Skrevet 18. juni 2006 snr NUMBER(5), burde ikkje egentlif "NUMBER" gjøres om til INT ?? 6330304[/snapback] Det kommer an på om koden skal klargjøres for andre plattformer eller ikke. Datatypen til Oracle heter number, i ANSI SQL heter den int. Dersom koden uansett bare skal brukes på Oracle hadde jeg helt klart benyttet number, mens jeg ville valgt int dersom koden skulle kunne benyttes på andre databaseplattformer også. Lenke til kommentar
Goliath Skrevet 18. juni 2006 Forfatter Del Skrevet 18. juni 2006 Korrekt kode som fungerer helt fint vil være: CREATE TABLE studentregister( snr NUMBER(5), fornavn VARCHAR2(20), etternavn VARCHAR2(10), adresse VARCHAR2(20), CONSTRAINT snr PRIMARY KEY (snr)); 6330270[/snapback] Takk for tipset roac men får feilmelding "INVALID CHARACTER". Bruker oppmot Oracle ja, derfor bruker jeg NUMBER.. Lenke til kommentar
Goliath Skrevet 18. juni 2006 Forfatter Del Skrevet 18. juni 2006 Fikk det fungerende nå ved å skrive: CREATE TABLE studentregister( snr NUMBER(5), fornavn VARCHAR2(20), etternavn VARCHAR2(10), adresse VARCHAR2(20), CONSTRAINT studentregister_fnr_pk PRIMARY KEY(snr)) Var constraint'en som ikke var skrevet helt rikitg. Takk for hjelp folkens, spesielt roac! Lenke til kommentar
roac Skrevet 18. juni 2006 Del Skrevet 18. juni 2006 Var constraint'en som ikke var skrevet helt rikitg. Takk for hjelp folkens, spesielt roac! 6330791[/snapback] Gleden er på min side. Jeg holder på å lese meg opp til sertifiseringer på Oracle, og da er andres små problemer bare en kjærkommen erfaring. 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å