webForumDet fria alternativet

Select i insert

2 svar · 181 visningar · startad av Dino

DinoMedlem sedan sep. 20011 918 inlägg
#1

(Access)
Vid en Insert så skickar jag in ett värde typ '123' vad jag skulle vilja är att ta id:t för denna nya rad och sammanfoga det med '123', resultat '1233'. Detta skall ske i samma fråga. Skulle vilja att detta fungerade, men det gör det självklart inte.

INSERT INTO AAA(aaa_guid) VALUES('123' & str(SELECT TOP 1 aaa_id FROM AAA ORDER BY aaa_id DESC))

Så fråga.
1. Varför funkar inte ovan kod?
2. Kan man köra två frågor samtidigt i Access? "INSERT INTO AAA(aaa_something) VALUES(?);SELECT
@@IDENTITY"

LarsGMedlem sedan dec. 200012 465 inlägg
#2

Rent principiellt så borde den gå att exekvera. Att Access inte tillåter skalära subselect i values är en begränsing i Access och inte i SQL.
Dock skulle du då inte få det aaa_id som skapas vid insert (eftersom det inte finns) utan det högsta värdet som fanns innan insert.

Jag förstär dock inte varför du vill göra på detta sätt. Om du vill visa ditt räknarvärde med prefixet 123 så gör det när du gör select istället. Det finns ingen anledning att ha kolumnen aaa_guid.

2. Nej.

DinoMedlem sedan sep. 20011 918 inlägg
#3

'123' var bara ett exempel, det kan var vad som helst och är unikt för varje rad. Ville väl mest veta om man kunde göra flera frågor i en fråga som ovan för att minska antalet databas rop. Men jag kanske kan flytta det till Selecten som du säger. Får ta och kolla igenom min kod lite. Tack för svaret iaf. :)

Genererad på 375 ms · cache AV · v20260730165559-full.f96bc7eb