Pozwala na dodanie jednego lub wielu rekordów do tabeli. Nazywa się to zapytanie dołączające.
Składnia
Zapytanie dołączające wiele rekordów:
INSERT INTO element_docelowy [(pole1[, pole2[, ...]])] [IN zewnętrzna_baza_danych]
SELECT [źródło.]pole1[, pole2[, ...] FROM wyrażenie_tabeliZapytanie dołączające jeden rekord:
INSERT INTO element_docelowy [(pole1[, pole2[, ...]])]
VALUES (wartość1[, wartość2[, ...])Instrukcja INSERT INTO zawiera następujące segmenty:
Segment |
Opis |
element_docelowy |
Nazwa tabeli lub zapytania, do którego mają zostać dołączone rekordy. |
pole1, pole2 |
Nazwy pól, do których mają zostać dołączone dane, jeśli występują po argumencie element_docelowy, lub nazwy pól, z których mają zostać uzyskane dane, jeśli występują po argumencie źródło. |
zewnętrzna_baza_danych |
Ścieżka do zewnętrznej bazy danych. Aby zapoznać się z opisem tej ścieżki, zobacz informacje dotyczące klauzuli IN. |
źródło |
Nazwa tabeli lub zapytania, z którego mają być kopiowane rekordy. |
wyrażenie_tabeli |
Nazwa tabeli lub tabel, z których są wstawiane rekordy. Ten argument może być nazwą tabeli pojedynczej lub złożonej powstałej na skutek użycia operacji INNER JOIN, LEFT JOIN lub RIGHT JOIN lub zapisanego zapytania. |
wartość1, wartość2 |
Wartości, które mają być wstawione do określonych pól nowego rekordu. Każda wartość jest wstawiana do pola, które odpowiada pozycji wartości na liście: wartość1 jest wstawiana do elementu pole1 nowego rekordu, wartość2 do elementu pole2 itd. Trzeba oddzielić wartości przecinkiem i ująć pola tekstowe w cudzysłów (' '). |
Spostrzeżenia
Instrukcji INSERT INTO można użyć w celu dodania pojedynczego rekordu do tabeli za pomocą składni zapytania dołączającego jeden rekord, jak pokazano powyżej. W tym przypadku kod określa nazwę i wartość dla każdego pola rekordu. Musisz określić każde z pól rekordu, do którego ma zostać przypisana wartość, oraz wartość dla tego pola. Jeśli każde pole nie zostanie określone, w brakujących kolumnach zostanie wstawiona wartość domyślna lub wartość Null. Rekordy są dodawane na końcu tabeli.
Instrukcja INSERT INTO służy także do dołączania zestawu rekordów z innej tabeli lub zapytania przy użyciu klauzuli SELECT ... FROM, jak pokazano na powyższym przykładzie składni zapytania dołączającego wiele rekordów. W takim przypadku klauzula SELECT określa pola, które mają zostać dołączone do określonej tabeli element_docelowy.
Tabela źródło lub element_docelowy może określać tabelę lub zapytanie. Jeśli zapytanie jest określone, aparat bazy danych programu Microsoft Access dołącza rekordy do wszystkich tabel określonych przez zapytanie.
Instrukcja INSERT INTO jest opcjonalna, ale jeśli jest stosowana, występuje przed instrukcją SELECT.
Jeśli tabela docelowa zawiera klucz podstawowy, upewnij się, że do pola lub pól klucza podstawowego dołączasz wartości unikatowe, różne od Null. W przeciwnym razie aparat bazy danych programu Microsoft Access nie dołączy rekordów.
Jeśli dołączasz rekordy do tabeli z polem typu Autonumerowanie i chcesz zmienić numerację dołączonych rekordów, nie zawieraj pola typu Autonumerowanie w swoim zapytaniu. Zawrzyj pole typu Autonumerowanie w zapytaniu, jeśli chcesz zachować oryginalne wartości z pola.
Aby dołączyć rekordy do tabeli w innej bazie danych, użyj klauzuli IN.
Aby utworzyć nową tabelę, użyj instrukcji SELECT... INTO, zamiast tworzyć zapytanie tworzące tabele.
Aby przed uruchomieniem zapytania dołączającego ustalić, jakie rekordy zostaną dołączone, najpierw wykonaj i wyświetl wyniki zapytania wybierającego używającego tych samych kryteriów wyboru.
Zapytanie dołączające kopiuje rekordy z jednej lub kilku tabel do innych. Zapytanie dołączające nie ma wpływu na tabele zawierające dołączone rekordy.
Zamiast dołączać istniejące rekordy z innej tabeli, możesz określić wartość dla każdego pola w jednym nowym rekordzie za pomocą klauzuli VALUES. W przypadku pominięcia listy pól klauzula WARTOŚCI musi zawierać wartość dla każdego pola w tabeli. w przeciwnym razie operacja INSERT nie powiedzie się. Dla każdego dodatkowego rekordu, który chcesz utworzyć, użyj dodatkowej instrukcji INSERT INTO z klauzulą VALUES.