Avatar billede lrj Nybegynder
17. oktober 1999 - 16:56 Der er 2 kommentarer og
2 løsninger

Oprettelse af tabeller i MS SQL Server 7.0

Hej

Jeg er ved at oprette en større database, hvor der er en del referencer. Problemet er så, at der er en slags hønen og ægget situation - 2 tabeller som refererer til hinanden via REFERENCES ikke kan oprettes, da den anden ikke findes. Hvordan skal dette konstrueres?

/Laust
Avatar billede mit Nybegynder
17. oktober 1999 - 20:19 #1
Det lyder umuligt...Hvad kan du da ha' til at referere til hinanden ?
Avatar billede lrj Nybegynder
18. oktober 1999 - 01:22 #2
Hmm, følgende eksempel (simplificeret...)

create table test1 (
id uniqueidentifier NOT NULL Default newid() PRIMARY KEY,
linktest2 uniqueidentifier references test2(id));

create table test2 (
id uniqueidentifier NOT NULL Default newid() PRIMARY KEY,
i integer);


Virker ikke. Jeg ved godt at jeg kan bytte om på rækkefølgen af dem, men i mit projekt er det ikke praktisk at gøre (det er MEEGET stort..).

Så egentlig er det vel en måde at lave "forward declerations", som man gør i alle andre sprog jeg mangler.
Avatar billede blackthorne Nybegynder
18. oktober 1999 - 08:44 #3
Gør følgende opret tabellerne med create table uden foreign keys
derefter lav en alter table og indsæt foreign keys
Avatar billede lrj Nybegynder
18. oktober 1999 - 17:05 #4
blackthorne> Well, det er en mulighed, men uoverskueligheden der vil følge deraf er ikke acceptabel.

Jeg har fået løst problemet ved at indse at jeg ikke har reliseret 2-vejs links og det derfor er muligt at nøjes med at ordne rækkefølgen tabellerne oprettes i.

Anyways, blachthorne - det er vist den eneste løsning hvis der er 2 tabeller der har foreign keys til hinanden, så du får lige lidt points...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester