Korzystając z tabel stworzonych w Zadaniu 1:
- Stwórzmy nowy dział – IT. Dwa stanowiska – Administrator (ID działu – 500) oraz Programista (ID działu – 550). Płaca podstawowa dla obu 3500.
- Nowy dział trzeba „zaludnić”. Administratorem będzie Andrzej Szyszka (id 12, zatrudniony 5 listopada 2015, urodzony 10 września 1973, nadal pracuje, telefon 667667667, premia 500). Programistą zaś został Adrian Klon (id 13, zatrudniony 2 listopada 2015, urodzony 14 marca 1984, nadal pracuje, telefon 665665665, premia 700).
- Administratorowi przypisz wolny samochód, jeśli taki jest.
- Nowa polityka firmy mówi, że nikt nie może dostawać premii niższej niż 350. Uaktualnij dane tak, by były zgodne z tą polityką.
- Tabela Flota. Każdemu samochodowi przypisz odpowiadający mu numer pracownika (id_prac).
[spoiler title=’Rozwiązanie’ style=’default’ collapse_link=’true’]
- INSERT ALL
INTO Dzialy(id_dzialu, nazwa_dzialu, stanowisko, placa_podstawowa) VALUES (500, 'IT’, 'Administrator’, 3500)
INTO Dzialy(id_dzialu, nazwa_dzialu, stanowisko, placa_podstawowa) VALUES(550, 'IT’, 'Programista’, 3500)
SELECT * FROM dual;
- INSERT ALL
INTO Pracownicy(id_prac, imie, nazwisko, id_dzialu, id_auta, premia, data_zatrudnienia, data_urodzenia, data_zakonczenia, telefon)
VALUES (12, 'Andrzej’, 'Szyszka’, 500, null, 500, '2015-11-05′, '1973-09-10′, null, '667667667′)
INTO Pracownicy(id_prac, imie, nazwisko, id_dzialu, id_auta, premia, data_zatrudnienia, data_urodzenia, data_zakonczenia, telefon)
VALUES (13, 'Adrian’, 'Klon’, 550, null, 700, '2015-11-02′, '1984-03-14′, null, '665665665′)
SELECT * FROM dual;
- Najpierw sprawdzamy, czy mamy na stanie wolne auto:
SELECT *
FROM Flota
WHERE id_auta not in (SELECT id_auta FROM Pracownicy WHERE id_auta is not null);
Mamy jedno wolne auto, więc możemy je przypisać Adminowi:
UPDATE Pracownicy
SET id_auta = '9′
WHERE id_dzialu = '500′;
- UPDATE Pracownicy
SET premia = 350
WHERE premia < 350;
- UPDATE Flota
SET id_prac = 1 WHERE id_auta = 12;
UPDATE Flota
SET id_prac = 2 WHERE id_auta = 11;
UPDATE Flota
SET id_prac = 5 WHERE id_auta = 10;
UPDATE Flota
SET id_prac = 12 WHERE id_auta = 9;
UPDATE Flota
SET id_prac = 7 WHERE id_auta = 8;
UPDATE Flota
SET id_prac = 6 WHERE id_auta = 7;
[/spoiler]