Instrukcja INSERT INTO

Dodaje rekord lub wiele rekordów do tabeli. Często ta instrukcja jest określana mianem zapytanie dołączające.

Składnia

Kwerenda dołączająca wiele rekordów:

INSERT INTO lokalizacja_docelowa [(pole1[, pole2[, ...]])] [IN zewnętrzna_baza_danych]
SELECT [lokalizacja_źródłowa.]pole1[, pole2[, ...]
FROM wyrażenie_tabeli

Kwerenda dołączająca jeden rekord:

INSERT INTO lokalizacja_docelowa [(pole1[, pole2[, ...]])]
VALUES (wartość1[, wartość2[, ...])

Instrukcja INSERT INTO zawiera następujące segmenty:

Segment

Opis

lokalizacja_docelowa

Nazwa tabeli lub kwerendy, do której mają zostać dołączone rekordy.

pole1, pole2

Nazwy pól, do których mają zostać dołączone dane, jeśli następują po argumencie lokalizacja_docelowa, albo z których mają zostać pobrane dane, jeśli następują po argumencie lokalizacja_źródłowa.

zewnętrzna_baza_danych

Ścieżka do zewnętrzna baza danych. Aby zapoznać się z pełnym opisem ścieżki, zobacz klauzulę IN.

lokalizacja_źródłowa

Nazwa tabeli lub kwerendy, z której mają zostać skopiowane rekordy.

wyrażenie_tabeli

Nazwa tabeli lub tabel, z których są wstawiane rekordy. Ten argument może mieć postać pojedynczej nazwy tabeli lub listy nazw tabel powstałej na skutek operacji INNER JOIN, LEFT JOIN lub RIGHT JOIN albo zapisania kwerendy.

wartość1, wartość2

Wartości, które mają zostać wstawione w konkretnych polach nowego rekordu. Każda wartość jest wstawiana w polu odpowiadającym pozycji wartości na liście: wartość1 jest wstawiana w polu1 nowego rekordu, wartość2 — w polu2 itd. Wartości muszą być oddzielone przecinkami, a pola tekstowe muszą być ujęte w pojedyncze znaki cudzysłowu (' ').


Spostrzeżenia

Za pomocą instrukcji INSERT INTO można dodać jeden rekord do tabeli, używając składni kwerendy dołączającej jeden rekord zgodnie z opisem powyżej. W tym przypadku kod określa nazwę i wartość każdego pola rekordu. Należy zdefiniować każde z pól rekordu, któremu ma być przypisana wartość, oraz samą wartość pola. Jeśli pole nie zostanie zdefiniowane, w brakujących kolumnach będzie wstawiona wartość domyślna lub wartość Null. Rekordy są dodawane na końcu tabeli.

Ponadto przy użyciu klauzuli INSERT INTO można dołączyć zestaw rekordów pochodzących z innej tabeli lub kwerendy, dodając klauzulę SELECT ... FROM w składni kwerendy dołączającej wiele rekordów (patrz powyżej). W tym przypadku klauzula SELECT określa pola, które mają zostać dołączone do tabeli opisanej parametrem lokalizacja_docelowa.

Parametry lokalizacja_źródłowa i lokalizacja_docelowa mogą dotyczyć tabeli lub kwerendy. W przypadku kwerendy aparat bazy danych programu Microsoft Access dołącza rekordy do wszystkich tabel określonych w kwerendzie.

Klauzula INSERT INTO jest opcjonalna, ale jeśli istnieje, poprzedza instrukcję SELECT.

Jeśli tabela docelowa zawiera klucz podstawowy, wartości dołączane do pola lub pól klucza podstawowego muszą być unikatowe i nie mogą wynosić Null. W przeciwnym razie aparat bazy danych programu Microsoft Access nie dołączy rekordów.

Jeśli dla rekordów dołączanych do tabeli zawierającej pole typ danych Autonumerowanie ma zostać zmieniona numeracja, nie należy umieszczać pola Autonumerowanie w kwerendzie. Pole Autonumerowanie należy umieścić w kwerendzie w sytuacji, gdy mają zostać zachowane oryginalne wartości pola.

Klauzula IN umożliwia dołączenie rekordów do tabeli umieszczonej w innej bazie danych.

Aby utworzyć nową tabelę, należy użyć instrukcji SELECT... INTO i zbudować zapytanie tworzące tabele.

Aby przed wykonaniem kwerendy tworzącej tabele sprawdzić, które rekordy zostaną dołączone, najpierw należy wykonać i przejrzeć wyniki zapytanie wybierające, która korzysta z tych samych kryteriów wyboru.

Kwerenda dołączająca kopiuje rekordy między tabelami. Tabele zawierające rekordy, które są dołączane, nie ulegają żadnym zmianom w wyniku użycia tej kwerendy.

Zamiast dołączać istniejące rekordy z innej tabeli, wartość dla każdego pola można określić w jednym nowym rekordzie za pomocą klauzuli VALUES. W przypadku pominięcia listy pól klauzula VALUES musi zawierać wartość z każdego pola w tabeli, ponieważ w przeciwnym razie operacja INSERT nie powiedzie się. Dla każdego dodatkowego rekordu, który ma zostać utworzony, należy użyć osobnej instrukcji INSERT INTO z klauzulą VALUES.



Dotyczy: Access 2007, Access 2010



Czy te informacje były pomocne?

Tak Nie

Jak możemy to poprawić?

255 pozostało znaków

Aby chronić swoją prywatność, nie dołączaj do opinii informacji o kontakcie. Przejrzyj nasze zasady zachowania poufności informacji.

Dziękujemy za opinię!

Zasoby pomocy technicznej

Zmień język