Avatar billede mbhl Nybegynder
11. november 2002 - 16:41 Der er 2 kommentarer og
1 løsning

Ændring af primær nøgler vha. sql

1) Kan man et SQL statement ændre en tabels (Paradox) primærnøgle; hvis ikke kan man så slette primærnøglen og oprette en ny på en eksisterende tabel?
Jeg er klar over at man kan lave en primærnøgle i forbindelse med "create table".

2) Er det muligt at sætte felter ind i en tabel på en bestemt position (fx som første felt), når man med SQL adderer nye felter til en eksisterende tabel (Paradox). Med "alter table tabelnavn feltnavn felttype" placeres de nye felter altid sidst i definitionen.
Avatar billede arne_v Ekspert
16. november 2002 - 21:38 #1
re 2)

Felter er principielt ikke ordnet i nogen bestemt
rækkefølge.

Og derfor er der heller ikke mulighed for at angive
det i SQL.

Derudover vil de fleste implementeringer nok
have en tæt kobling mellem fysisk lagrings-format
og rækkefølgen felter vises i. Hvilket vil gøre
det til en potentielt meget dyr operation at
ændre det.

Derfor tror jeg ikke, at det kan lade sig gøre.
Avatar billede arne_v Ekspert
16. november 2002 - 21:49 #2
re 1)

Ikke i standard SQL men en del database tillader
kommandoer som:

ALTER TABLE tabelnavn DROP PRIMARY KEY;

ALTER TABLE tabelnavn MODIFY (feltnavn PRIMARY KEY);
prøv og nærlæs ALTER TABLE mulighederne for din
database (Paradox).
Avatar billede mbhl Nybegynder
18. november 2002 - 10:14 #3
Jeg er bange for, at det jeg forespørger, ikke kan lade sig gøre. Paradox vil have felter, som indgår i Primary key til at stå først i definitionen. Jeg løser problemet ved at omdøbe tabellerne, oprette tabellerne inkl. primærnøgle påny vha. SQL, derefter flytter jeg data fra omdøbte tabeller til nyoprettede. Tak for interessen.
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