webForumDet fria alternativet

Kopiera data från en tabell till annan befintlig

Databaser & SQL

4 svar · 683 visningar · startad av tmb

Medlem sedan feb. 200328 inlägg
Frågan#1

Jaha, då var man tillbaka igen med en ny nöt att knäcka för SQL-experterna :D

Jag har två tabeller A och B med många fält som är identiska fast med olika data. Data från A skall in i B. Problemet är att det är så många fält så jag har ingen lust att göra fältlistor. Genom lite sökande så fann jag den här eleganta lösningen:

insert into B select * from A

Vilket fungerar ypperligt OM man inte har identitets-fält i någon av dem. Hur gör man då om man har det? Går det öht att göra med SQL?

Vad jag skulle vilja göra är något i den här stilen:

insert into B select * except id from A

Jag får känslan av att om man använder * så måste det vara 1 till 1 förhållande på fältnamnen.

Medlem sedan juni 200032 967 inlägg
#2

Vilken dbms?

Medlem sedan feb. 200328 inlägg
#3

MSSQL. Man kan ju iofs köra import-funktionen men skulle vilja kunna göra det från SQL.

Det kommer dessutom en följdfråga sedan :D

Medlem sedan dec. 200012 464 inlägg
#4

Något sätt att ange alla kolumner uton en finns inte. Du får ange alla kolumner explicit.

Medlem sedan feb. 200328 inlägg
#5

Nä, det verkar inte finnas något enkelt sätt att göra det tyvärr. Jag fick helt enkel ange alla fälten som du säger.

253 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)