Bazy danych II

8
25/08/2001 1 Bazy danych II Piotr Górczyński Instrukcja UPDATE

description

Bazy danych II. Piotr Górczyński. Instrukcja UPDATE. Spis treści. Składnia UPDATE Zmiana wierszy Zmiana wierszy na podstawie danych wybranych z innych tabel. Składani UPDATE. Rozkaz UPDATE służy do zmiany wartości pól wierszy w tabeli - PowerPoint PPT Presentation

Transcript of Bazy danych II

Page 1: Bazy danych II

25/08/2001 1

Bazy danych II

Piotr Górczyński

Instrukcja UPDATE

Page 2: Bazy danych II

25/08/2001 2

Spis treści

Składnia UPDATEZmiana wierszyZmiana wierszy na podstawie danych wybranych z

innych tabel

Page 3: Bazy danych II

25/08/2001 3

Składani UPDATE

Rozkaz UPDATE służy do zmiany wartości pól wierszy w tabeli

Składnia (skrócona):UPDATEnazwa_tabeliSET{kolumna={DEFAULT | NULL | wyrażenie} } [ ,...n] [ FROM{ nazwa_tabeli} [ ,...n ] ][ WHERE warunek_wyszukiwania ]

Elementy ujęte w nawiasy kwadratowe mogą zostać pominięte, ale element [ ,...n] oznacza, że element go poprzedzający może wystąpić n-razy

Page 4: Bazy danych II

25/08/2001 4

Zmiana wierszy

1. Zmiana pola IMIE na wartość ‘Piotr’ wiersza w tabeli Zawodnik, którego pole NrZaw jest równy 7 polem Nr:

UPDATE [Zawodnik]SET [Imie]=‘Piotr’ WHERE[NrZaw] =7

2. Zmiana pole Druz na wartość ‘Złote Kalesony’ w wierszach tabeli Zawodnik, których wartości pola NrZaw są równe 1,7 lub 13

UPDATE [Zawodnik]SET [Druz ]= ‘Złote Kalesony’ WHERE[NrZaw] in (1,7,13)

Page 5: Bazy danych II

25/08/2001 5

Zmiana wierszy na podstawie danych wybranych z innych tabel

Jeżeli relacja między tabelą zmienianą TABELA_A, a tabelą TABELA_B, z której wybieramy rekordy jest jeden do wielu (1:N), to aby można było zmienić wartości w TABELA_A należy zapewnić, że wybierze się co najwyżej jedną wartość z TABELA_B.Na przykładowym rysunku pokazano, że wybieramy tylko takie rekordy z TABELA_B, których wartość w POLE2 wynosi 1.

Rozwiązanie:UPDATE TABELA_A SETTABELA_A.POLE1=TABELA_B.POLE3 FROM TABELA_BWHERE TABELA_A.ID=TABELA_B.ID1 ANDTABELA_B.POLE2 = 1

Page 6: Bazy danych II

25/08/2001 6

Przykład – slajd 1 z 2

Zadanie: Chcemy do pola NRABUMU w tabeli UZYTKOWNIK przepisać wartość WYNIK z tabeli REALIZACJA tylko dla wierszy z tabeli REALIZACJA, w których pole FKIDTEST ma wartość 57

Page 7: Bazy danych II

25/08/2001 7

Przykład – slajd 2 z 2

UPDATE

UZYTKOWNIK

SET

UZYTKOWNIK.NRALBUMU=REALIZACJA.WYNIK

FROM

REALIZACJA

WHERE

UZYTKOWNIK.IDUZYTKOWNIK = REALIZACJA.FKIDUZYTKOWNIK

AND

REALIZACJA.FKIDTEST = 57

Page 8: Bazy danych II

25/08/2001 8

Literatura

Microsoft SQL Server Books Online