webForumDet fria alternativet

SELET INTO - Flytta post!

9 svar · 444 visningar · startad av oskars

oskarsMedlem sedan nov. 20051 317 inlägg
#1

Hallå på er!

Har upptäckt SELECT INTO... men det vill inte fungera som jag vill... jag vill med en enkel knapp kunna flytta en post till en annan tabell i databasen.... alltså flytta! Inte kopiera som det verkar som att SELECT INTO gör.. Så här typ:

SELECT * INTO Tabell2 FROM Tabell1 WHERE ID = 2

då ska ID=2 flyttas från Tabell1 till Tabell2 utan att någon kopia görs!

Är detta möjligt utan att behöva göra 2st SQL-frågor (en som flyttar och en som tar bort orginalet)?

Tacksam för svar!

:stud :i

Oskar

yohpopsMedlem sedan feb. 20011 198 inlägg
#2

Spontant: Nej.

oskarsMedlem sedan nov. 20051 317 inlägg
#3

Fakta(?): Jag måste göra 2st SQL-frågor?

@ndersMedlem sedan juni 200032 969 inlägg
#4

Spontant: Ja.

:)

oskarsMedlem sedan nov. 20051 317 inlägg
#5

Sammanfattning: Spontant: Nej. + Fakta(?): Jag måste göra 2st SQL-frågor? + Fakta(?): Jag måste göra 2st SQL-frågor? + Spontant: Ja. = Jag gör 2st SQL-frågor!

Tackar och bugar :bire

Borde dom (utvecklarna) inte fixa en SQL-fråga som gör detta?

Oskar

oskarsMedlem sedan nov. 20051 317 inlägg
#6

Huggah!

Varför får jag detta felmeddelandet med nedanstående kod? :O Självklart så finns tabellen "Arkiv" i min databas!

Microsoft OLE DB Provider for ODBC Drivers (0x80040E31)
[MySQL][ODBC 3.51 Driver][mysqld-5.0.24a-community-nt]Undeclared variable: Arkiv

                        Set Connect = Server.CreateObject("ADODB.Connection")
		Connect.Open = getDatabase

			' Vi kopierar ordrarna till tabellen Arkiv:
			Set Recset = Server.CreateObject("ADODB.Recordset")
			SQL = "SELECT * INTO Arkiv FROM Adresser2006 WHERE KOrder = 1"
			Connect.Execute(SQL)
			Set RecSet = Nothing
	
			' Och så tar vi bort ordrarna från tabellen Adresser2006
			Set Recset = Server.CreateObject("ADODB.Recordset")
			SQL = "DELETE FROM Adresser2006 WHERE KOrder = 1"
			Connect.Execute(SQL)
			Set RecSet = Nothing

		Connect.Close
		Set Connect = Nothing
@ndersMedlem sedan juni 200032 969 inlägg
#7

Jag vet inte om det är det som är felet, men du kan inte använda SELECT INTO till en tabell som redan finns, tabellen som anges skapas automatiskt.

Ska du göra inserts i en tabell som redan finns får du använda INSERT - SELECT, typ

INSERT INTO tabell
SELECT * FROM annantabell

Stämmer inte tabellstrukturen överens får du specificera de fält du vill ha.

headbugMedlem sedan sep. 2006867 inlägg
#8

Spontant: ny fråga - ny tråd ;)

oskarsMedlem sedan nov. 20051 317 inlägg
#9

@nders skrev:

Jag vet inte om det är det som är felet, men du kan inte använda SELECT INTO till en tabell som redan finns, tabellen som anges skapas automatiskt.

Ska du göra inserts i en tabell som redan finns får du använda INSERT - SELECT, typ

INSERT INTO tabell
SELECT * FROM annantabell

Stämmer inte tabellstrukturen överens får du specificera de fält du vill ha.

Tack så mkt! Ska testa det =)

Fakta: Följdfråga! :bla

headbugMedlem sedan sep. 2006867 inlägg
#10

Puss! :birp

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