Legger til én eller flere poster i en tabell. Dette kalles en tilføyingsspørring.
Syntaks
Tilføyingsspørring med flere poster:
INSERT INTOmål [(felt1[, felt2[,...]])] [IN eksterndatabase]
SELECT[kilde.] felt1[, felt2[,...]
FROM tabelluttrykk
Tilføyingsspørring med én post:
INSERT INTO mål [(felt1[, felt2[, ...]])]
VALUES (verdi1[, verdi2[, ...])
INSERT INTO-uttrykket har følgende deler:
Del |
Beskrivelse |
mål |
Navnet på tabellen eller spørringen du vil tilføye poster i. |
felt1, felt2 |
Navnene på feltene du vil tilføye dataene i, hvis de kommer etter et mål-argument, eller navnene på feltene dataene skal hentes fra, hvis de kommer etter et kilde-argument. |
eksterndatabase |
Banen til en ekstern database. Se IN-setningen for å få en beskrivelse av banen. |
kilde |
Navnet på tabellen eller spørringen du vil kopiere poster fra. |
tabelluttrykk |
Navnet på tabellen(e) som postene er satt inn fra. Dette argumentet kan være ett enkelt tabellnavn eller en sammensetning fra en INNER JOIN-, LEFT JOIN- eller RIGHT JOIN-operasjon eller en lagret spørring. |
verdi1, verdi2 |
Verdiene du vil sette inn i de bestemte feltene i den nye posten. Hver verdi settes inn i feltet som tilsvarer verdiens plassering i listen: verdi1 settes inn i felt1 i den nye posten, verdi2 i felt2 og så videre. Du må skille verdier med et komma og sette tekstfelt i anførselstegn («»). |
Kommentarer
Du kan bruke INSERT INTO-uttrykket til å legge til én enkelt post i en tabell ved hjelp av syntaksen for tilføyingsspørring med én post, som vist ovenfor. I dette tilfellet spesifiserer koden navnet og verdien for hvert felt i posten. Du må spesifisere hvert felt i posten som en verdi skal tilordnes til, og angi en verdi for det feltet. Når du ikke spesifiserer hvert felt, blir standardverdien eller Null satt inn for manglende kolonner. Poster legges til slutten av tabellen.
Du kan også bruke INSERT INTO til å tilføye et sett med poster fra en annen tabell eller spørring ved hjelp av SELECT ... FROM-setningen som vises ovenfor i syntaksen for tilføyingsspørring med flere poster. I dette tilfellet spesifiserer SELECT-setningen feltene som skal legges til den angitte mål-tabellen.
Kilde- eller mål-tabellen kan spesifisere en tabell eller spørring. Hvis en spørring er spesifisert, tilføyer Microsoft Access-databasemotoren poster til alle tabeller som er spesifisert av spørringen.
INSERT INTO er valgfritt, men når den inkluderes, kommer den før SELECT-uttrykket.
Hvis måltabellen inneholder en primærnøkkel, kontroller at du tilføyer unike, ikke-nullverdier i primærnøkkelfeltet eller -feltene. Hvis du ikke gjør det, vil ikke Microsoft Access-databasemotoren tilføye postene.
Hvis du tilføyer poster i en tabell med et autonummereringsfelt, og du vil omnummerere de tilføyde postene, skal du ikke inkludere autonummereringsfeltet i spørringen. Ikke inkluder autonummereringsfeltet i spørringen hvis du vil beholde de opprinnelige verdiene fra feltet.
Bruk IN-setningen til å tilføye poster i en tabell i en annen database.
Hvis du vil opprette en ny tabell, bruker du SELECT... INTO-uttrykket i stedet til å opprette en lag-tabell-spørring.
Hvis du vil finne ut hvilke poster som tilføyes før du kjører tilføyingsspørringen, må du først kjøre og vise resultatene av en utvalgsspørring som bruker de samme utvalgsvilkårene.
En tilføyingsspørring kopierer poster fra én eller flere tabeller til en annen. Tabellene som inneholder postene du tilføyer, påvirkes ikke av tilføyingsspørringen.
I stedet for å tilføye eksisterende poster fra en annen tabell, kan du angi verdien for hvert felt i én enkelt ny post ved hjelp av VALUES-setningsdelen. Hvis du utelater feltlisten, må VALUES-setningen inneholde en verdi for hvert felt i tabellen. Hvis ikke, vil INSERT-operasjonen mislykkes. Bruk en ekstra INSERT INTO-setning med en VALUES-setning for hver ekstra post du vil opprette.