Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

25/08/2001 1 Bazy danych II Piotr Górczyński Instrukcja INSERT.

Podobne prezentacje


Prezentacja na temat: "25/08/2001 1 Bazy danych II Piotr Górczyński Instrukcja INSERT."— Zapis prezentacji:

1 25/08/ Bazy danych II Piotr Górczyński Instrukcja INSERT

2 25/08/ 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

3 25/08/ 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

4 25/08/ Przykłady 1.Wstawienie wiersza do tabeli Zawodnik: INSERT INTO [Zawodnik] ([NrZaw], [Druz], [Imie], [Nazwisko]) VALUES (15, 'Żółte Pingwiny', 'Maciej', 'Jabłoński') 2.Wstawienie wiersza do tabeli Zawodnik. Został opuszczony składnik rozkazu INTO oraz nazwy kolumn. INSERT [ddd].[dbo].[Zawodnik] VALUES (13, 'Żółte Pingwiny', 'Jan', 'Nowak')

5 25/08/ 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

6 25/08/ 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')

7 25/08/ 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.

8 25/08/ 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.

9 25/08/ 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]

10 25/08/ Literatura Microsoft SQL Server Books Online


Pobierz ppt "25/08/2001 1 Bazy danych II Piotr Górczyński Instrukcja INSERT."

Podobne prezentacje


Reklamy Google