Avatar billede skrappe Nybegynder
30. januar 2007 - 22:29 Der er 8 kommentarer

Insert flere rækker data

I mit lille admin system skal jeg opdatere de nye kommuner i en eksisterende tabel. Men kan jeg indsætte mange rækker.

Jeg kan godt køre en ad gangen så er det sådan her:
INSERT INTO kommune
(komkey, nr, navn)
VALUES
(210,210,'Fredensborg');;

Men hvis jeg skal have alle nye, er det så sådan her (dog med fejl: Der er fundet tegn efter slutningen af sql-sætningen):
INSERT INTO kommune
(komkey, nr, navn)
VALUES
(230,230,'Rudersdal');;
INSERT INTO kommune
(komkey, nr, navn)
VALUES
(240,240,'Egedal');;
INSERT INTO kommune
(komkey, nr, navn)
VALUES
(250,250,'Frederikssund');;

Men Men, det ville være nemmere hvis man kunne noget ala det her:
INSERT INTO kommune
(komkey, nr, navn)
VALUES
(210,210,'Fredensborg');;
(230,230,'Rudersdal');;
(240,240,'Egedal');;
(250,250,'Frederikssund');;
Osv….

hvordan gør jeg det nemmest.
skrappe
Avatar billede fdata Forsker
30. januar 2007 - 23:30 #1
Jeg gætter på, at du allerede har dine nye kommunedata i en eller anden tabelform.
Turbo metoden er så:
- Opret et Excel ark og overfør dine data dertil.
- Marker dine data (3 kolonner og alle rækkerne, ingen overskrifter!)
- Kopier til Clipboard
- Åben din Kommune tabel i Access
- Marker den nederste række (altså den nye post), dvs: Klik på postmarkøren.
- Tast Ctrl-V
Avatar billede skrappe Nybegynder
31. januar 2007 - 08:50 #2
tak for venligheden "Fdata".
undskyld.
jeg havde ikke formuleret det godt nok. systemet bliver brugt 50 steder rundt omkring i landet, og brugerne har kun adgang til en "frontend" med mulighed for indlæsning af sql filer, de har ikke adgang til selve databasen.
Avatar billede jesperfjoelner Nybegynder
31. januar 2007 - 14:07 #3
Har du de nye kommuner i en tabel? f.eks. i din frontend?
Du kan jo indsætte en masse med SQL således:

INSERT INTO tabel1 (komkey, nr, navn) SELECT komkey, nr, navn FROM tabel2
Avatar billede skrappe Nybegynder
31. januar 2007 - 15:42 #4
ja undskyld igen min grovhed
de kommuner eksisterer ikke i fronteend, i den gamle tabel skal nogen indlæses, men der er gamle kommuner der består eks.
101 København
147 frederiksberg osv
Avatar billede fdata Forsker
31. januar 2007 - 19:50 #5
Kan du forklare lidt nærmere?
Siger du, at brugerne opretter nye poster ved at indtaste f.eks.:
  INSERT INTO kommune
  (komkey, nr, navn)
  VALUES
  (250,250,'Frederikssund');;  (der er vist et semikolon for meget)
- altså en post ad gangen?
Hvorfor kan man ikke fra en systemansvarligs side oprette alle i ét hug?
Avatar billede jesperfjoelner Nybegynder
31. januar 2007 - 19:57 #6
Jeg forstår ikke helt hvorhenne du har tabellen over de nye kommuner.
Hvis der i backend kun er en liste over gamle kommuner kan man f.eks. i frontned (midlertidigt) lægge tabellen med de nye og via en tilføjelsesforespørgsel indsætte alle de nye og slette de gamle (og så evt. slette tabellen i FE).

Det ligner at du forsøger at køre en masse enkelte tilføjelse, hvilket kunne klares med én SQL-kørsel, hvis du havde en tabel med de nye kommuner.
Avatar billede skrappe Nybegynder
31. januar 2007 - 21:39 #7
""Hvorfor kan man ikke fra en systemansvarligs side oprette alle i ét hug?""
Det er lige det jeg gerne vil.
det er 50 selvstændige databaser (Mdac) med en frontend.
I databasen ligger i dag en kommunetabel som skal vedligeholdes med en række nye kommuner og nogle gamle skal blive, jeg kan ikke bare slette den gamle så der skal tilføjes nogle rækker.
""Jeg forstår ikke helt hvorhenne du har tabellen over de nye kommuner.""
De nye kommuner skal indlæses via sql for at systemet kan opdateres, der er desværre ikke andre muligheder.
Tak fordi i holder ved
Avatar billede fdata Forsker
31. januar 2007 - 22:07 #8
Det letteste ville jo være at oprette en lokal tabel i en eller anden frontend, som linkede til basen, og så benytte jesperfjoelners metode.
Alternativt droppe frontenden og loade direkte i backenden.
Det er godt nok restriktivt, hvis den eneste indgang til tabellerne er via SQL.
Jeg er ude. Sorry.
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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