webForumDet fria alternativet

Flytta data mellan tabeller

8 svar · 317 visningar · startad av ajke

ajkeMedlem sedan mars 200365 inlägg
#1

Hejsan!!!

Hur gör man för att flytta en rad från t. ex tabell1 till tabell2 i samma databas??? Finns de nån smartig SQL-kod eller får man hålla på och flytta runt den till temporära filer

LarsGMedlem sedan dec. 200012 464 inlägg
#2

Man gör insert och delete.

Om man har en bra databasdesign så skall man inte behöva flytta data mellan olika tabeller.

Engine^Medlem sedan dec. 20003 887 inlägg
#3
INSERT INTO tabell2 SELECT * FROM tabell1 WHERE rad = raden

DELETE * FROM tabell1 WHERE rad = raden

Jag använder mig faktiskt rätt flitigt av att duplicera data i min databas, men det beror inte på dålig design (ok, klart att det kan tänkas finnas några designmissar ;)) utan pga av att det blir enklare och känns betydligt säkrare. För min del handlar det om att ställa prognoser baserat på befintliga lagerdata. Isället för att vara spiksäker på att jag inte råkar pilla på data som absolut inte ska pillas på gör jag en tillfällig kopia av det som redan finns. :)

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Det är väl jag som är akademisk och puritanistisk.

Delete * from

är något som man inte bör använda då det bara fungerar i
Access. I och med Access 2000/Jet 4.0 så behövs det inte där heller.

Engine^Medlem sedan dec. 20003 887 inlägg
#5

Jag som är skolad i Access :l

DELETE FROM

räcker väl utmärkt.

8787Medlem sedan feb. 200330 inlägg
#6

Man tackar....

Tack för svaret...

OveRRidEMedlem sedan feb. 200112 078 inlägg
#7

LarsG skrev:

Man gör insert och delete.

Om man har en bra databasdesign så skall man inte behöva flytta data mellan olika tabeller.

En fråga; varför inte? :)

Om jag har t.ex. en kundkorg som ligger i tabellen [cart] och vill göra detta till en order, borde det då inte vara logiskt att den data som var i [cart] och som insert:as i [order] raderas från ursprungstabellen [cart]? Då blir det ju som att flytta data. För jag vill ju knappast ha kvar de rader i [cart] som redan är processade och klara.

RED. Jag antar att du svarar att man inte skall ha kundkorgen på servern, utan hantera denna clientside, men det var inte det frågan gällde. ;)

LarsGMedlem sedan dec. 200012 464 inlägg
#8

Man kan använda en tabell som innehåller ett statusfält.

OveRRidEMedlem sedan feb. 200112 078 inlägg
#9

Misstänkte nästan det. :)

138 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)