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
8 svar · 317 visningar · startad av ajke
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
Man gör insert och delete.
Om man har en bra databasdesign så skall man inte behöva flytta data mellan olika tabeller.
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. :)
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.
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. ;)
Man kan använda en tabell som innehåller ett statusfält.
Misstänkte nästan det. :)