indlæs tabeller fra .txt fil (sql)

Tags:    databaser

hej,

når jeg prøver at indlæse disse tabeller til min database får jeg en masse fejl...

nogen der kan hjælpe mig?

jeg har først indsat min txt fil som jeg indlæser fra og derefter de fejl der fremkommer!

---

CREATE TABLE Vark (
genre VARCHAR(20),
komponeringsaar INTEGER,
stilart VARCHAR(20),
komponist VARCHAR(20),
varknavn VARCHAR(20),
PRIMARY KEY (komponist, varknavn)

);


CREATE TABLE Indspilning (
komponist VARCHAR(20),
varknavn VARCHAR(20),
indspilningsaar Integer,
indspilningsted VARCHAR(20),
PRIMARY KEY (indspilningsaar, indspilningsted),
FOREIGN KEY (komponist, varknavn) REFERENCES Vark(komponist, varknavn)
ON DELETE SET NULL ON UPDATE CASCADE
);


CREATE TABLE Gruppe (
gruppenavn VARCHAR(20) PRIMARY KEY,
dannetaar Integer,
oplosaar integer CONSTRAINT aarstal CHECK (dannetaar<=oplosaar),
nationalitet VARCHAR(20),
indspilningsaar Integer,
indspilningsted VARCHAR(20),
FOREIGN KEY (indspilningsaar, indspilningsted) REFERENCES

Indspilning(indspilningsaar, indspilningsted) ON DELETE SET NULL ON UPDATE CASCADE

);



CREATE TABLE GruppeMedvirkne (
navn VARCHAR(20),
gruppenavn VARCHAR(20),
PRIMARY KEY (navn, gruppenavn),
FOREIGN KEY (gruppenavn) REFERENCES Gruppe(gruppenavn)
ON DELETE SET NULL ON UPDATE CASCADE
);

CREATE TABLE Medvirkne (
rolle VARCHAR(20),
navn VARCHAR(20) PRIMARY KEY,
FOREIGN KEY (navn) REFERENCES GruppeMedvirkne(navn)
ON DELETE SET NULL ON UPDATE CASCADE
);


CREATE TABLE IndspilEnhed (
indspilningsaar Integer,
indspilningsted VARCHAR(20),
kode Integer,
PRIMARY KEY (indspilningsaar, indspilningsted, kode),
FOREIGN KEY (indspilningsaar, indspilningsted) REFERENCES

Indspilning(indspilningsaar, indspilninsted)
ON DELETE SET NULL ON UPDATE CASCADE
);

CREATE TABLE Enhed (
type VARCHAR(20),
selskabNavn VARCHAR(20),
kode Integer PRIMARY KEY,
titel VARCHAR(20),
udgivetaar VARCHAR(20),
FOREIGN KEY (kode) REFERENCES IndspilEnhed(kode)
ON DELETE SET NULL ON UPDATE CASCADE
);


CREATE TABLE Sektion (
selskab VARCHAR(20) PRIMARY KEY,
kode Integer,
cdNummer Integer,
startspor Integer,
indspilningsaar Integer,
indspilningsted VARCHAR(20),
FOREIGN KEY (kode) REFERENCES Enhed(kode) ON DELETE SET NULL ON UPDATE CASCADE,
FOREIGN KEY (indspilningaar, indspilningsted) REFERENCES

Indspilning(indspilningaar, indspilningsted) ON DELETE SET NULL ON UPDATE CASCADE
);

----

test5=# \\i c:\\1.txt
psql:c:\\1.txt:9: NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index
'vark_pkey' for table 'vark'
CREATE
psql:c:\\1.txt:20: NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index
'indspilning_pkey' for table 'indspilning'
psql:c:\\1.txt:20: NOTICE: CREATE TABLE will create implicit trigger(s) for FORE
IGN KEY check(s)
CREATE
psql:c:\\1.txt:32: NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index
'gruppe_pkey' for table 'gruppe'
psql:c:\\1.txt:32: NOTICE: CREATE TABLE will create implicit trigger(s) for FORE
IGN KEY check(s)
CREATE
psql:c:\\1.txt:42: NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index
'gruppemedvirkne_pkey' for table 'gruppemedvirkne'
psql:c:\\1.txt:42: NOTICE: CREATE TABLE will create implicit trigger(s) for FORE
IGN KEY check(s)
CREATE
psql:c:\\1.txt:49: NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index
'medvirkne_pkey' for table 'medvirkne'
psql:c:\\1.txt:49: NOTICE: CREATE TABLE will create implicit trigger(s) for FORE
IGN KEY check(s)
psql:c:\\1.txt:49: ERROR: UNIQUE constraint matching given keys for referenced t
able "gruppemedvirkne" not found
psql:c:\\1.txt:59: NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index
'indspilenhed_pkey' for table 'indspilenhed'
psql:c:\\1.txt:59: NOTICE: CREATE TABLE will create implicit trigger(s) for FORE
IGN KEY check(s)
psql:c:\\1.txt:59: ERROR: UNIQUE constraint matching given keys for referenced t
able "indspilning" not found
psql:c:\\1.txt:69: NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index
'enhed_pkey' for table 'enhed'
psql:c:\\1.txt:69: NOTICE: CREATE TABLE will create implicit trigger(s) for FORE
IGN KEY check(s)
psql:c:\\1.txt:69: ERROR: Relation "indspilenhed" does not exist
psql:c:\\1.txt:81: NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index
'sektion_pkey' for table 'sektion'
psql:c:\\1.txt:81: NOTICE: CREATE TABLE will create implicit trigger(s) for FORE
IGN KEY check(s)
psql:c:\\1.txt:81: ERROR: Relation "enhed" does not exist
test5=#




3 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
Det der måske kan give nogle problemer er at du benytter i 'medvirkne', den samme tabel som primary og foreign key. Ved at lave den som Primaty oprettes der samtidig en UNIQUE constraint samt et clustered index på denne kolonne, det kan være det der driller

(¯`·._.·[Brian Hvarregaard]·._.·´¯)



Bliver de tabeller den skriver NOTICE ved oprettet korrekt i databasen, men de constraints der er angivet???

(¯`·._.·[Brian Hvarregaard]·._.·´¯)



ja det gør de.. der står også at jeg bør ændre en primary key til unique .. hvis jeg gør det får jeg bare flere fejl....

følgende tabeller bliver oprettet:
gruppe
gruppemedvirkne
indspilning
vark



t