Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałBolek Perek Został zmieniony 11 lat temu
1
Bazy danych II Instrukcja INSERT Piotr Górczyński 25/08/2001
2
Spis treści Składnia INSERT Wstawianie pojedynczych wierszy
Wstawianie wiersza do tabeli z kolumnami typu IDENTITY lub Autonumber Wstawianie wierszy wybranych z tabel INSERT...SELECT 25/08/2001
3
INSERT Rozkaz INSERT służy do wstawiania wierszy do tabeli
Składnia (skrócona): INSERT [ INTO] nazwa_tabeli [ ( lista_kolumn ) ] { VALUES ( { DEFAULT | NULL | wyrażenie } [ ,...n] ) | wybranie_wierszy} Elementy ujęte w nawiasy kwadratowe mogą zostać pominięte 25/08/2001
4
Przykłady Wstawienie wiersza do tabeli Zawodnik: INSERT INTO [Zawodnik] ([NrZaw], [Druz], [Imie], [Nazwisko]) VALUES (15, 'Żółte Pingwiny', 'Maciej', 'Jabłoński') Wstawienie wiersza do tabeli Zawodnik. Został opuszczony składnik rozkazu INTO oraz nazwy kolumn. INSERT [ddd].[dbo].[Zawodnik] VALUES (13, 'Żółte Pingwiny', 'Jan', 'Nowak') 25/08/2001
5
Wstawianie wiersza do tabeli z kolumnami typu IDENTITY lub Autonumber
Kolumna w tabeli może mieć typ, który służy do unikalnego numerowania. W zależności od bazy danych typ ten może być nazywany inaczej lub w ogóle nie występować. MS SQL: IDENTITY MS Access: Autonumber Do kolumn tego typu nie można wstawiać wartości 25/08/2001
6
Przykłady Wstawienie wiersza do tabeli Grupa. INSERT INTO [GRUPA] ([IDGRUPY], [SYMBOL]) VALUES (3,'Info') Pojawia się błąd: Server: Msg 544, Level 16, State 1, Line 1 Cannot insert explicit value for identity column in table 'GRUPA' when IDENTITY_INSERT is set to OFF. Kolumna IDGRUPY jest unikalnym identyfikatorem tabeli Grupa i wartości są nadawane przez system bazy danych, dlatego nie można wstawiać do niej wartości. Tak zmodyfikowany rozkaz już zadziała: INSERT INTO [GRUPA] ([SYMBOL]) VALUES ('Info') 25/08/2001
7
Wstawianie wierszy wybranych z tabel INSERT...SELECT
Instrukcja INSERT pozwala wstawiać wiersze, które zostały wybrane z tabel za pomocą instrukcji SELECT. Jest to element składni wybranie_wierszy. Jeżeli opuszczony jest element składni lista_kolumn, czyli kolumny, do których wstawiamy wartości nie zostały zdefiniowane, to kolejność i typ pól wybranych wierszy musi być zgodny z tabelą, do której wstawiamy wiersze. 25/08/2001
8
Przykład – wstawianie do tej samej tabeli
Poniższe polecenie wstawia do tabeli GRUPA wszystkie wiersze wybrane z tabeli GRUPA, ale do pola SYMBOL dodaje na początku literkę ‘X’. INSERT INTO [SWW_TEST].[dbo].[GRUPA] ([SYMBOL]) SELECT 'X'+[SYMBOL] FROM [SWW_TEST].[dbo].[GRUPA] Gdyby pole IDGRUPY nie było typu IDENTITY, można by wykonać poniższe polecenie: INSERT INTO [SWW_TEST].[dbo].[GRUPA] SELECT * FROM [SWW_TEST].[dbo].[GRUPA] Ponieważ tak nie jest, otrzymamy błąd: Server: Msg 8101, Level 16, State 1, Line 1 An explicit value for the identity column in table 'SWW_TEST.dbo.GRUPA' can only be specified when a column list is used and IDENTITY_INSERT is ON. 25/08/2001
9
Przykład – wstawianie do innej samej tabeli
Poniższe polecenie wybiera 3 pierwsze znaki (funkcja SUBSTRING) z kolumny NAZWA z wszystkich wierszy z tabeli TEST i wstawia je do tabeli GRUPA do kolumny SYMBOL INSERT INTO [SWW_TEST].[dbo].[GRUPA] ([SYMBOL]) SELECT SUBSTRING([NAZWA],1,3) FROM [SWW_TEST].[dbo].[TEST] 25/08/2001
10
Literatura Microsoft SQL Server Books Online 25/08/2001
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.