Poziom zaawansowany

Zadanie 1

Korzystamy z tabel stworzonych w Zadaniu 1 (i zmodyfikowanych w Zadaniach 2 oraz 3):

Szef przysłał nowy wykaz premii. Jest on w pliku tekstowym, wygląda tak:

[spoiler title=’Wykaz premii’]

1;1500

2;110

3;800

4;500

5;450

6;450

7;300

8;375

9;300

10;500

11;400

12;400

13;600

[/spoiler]

Gdzie 1..13 to id pracownika, a liczba po średniku to nowa wartość premii.

Naszym zadaniem jest zaktualizowanie danych w bazie, jednak nie chcemy pisać ręcznie kilkunastu poleceń update.

Jak można to zautomatyzować?

[spoiler title=’Rozwiązanie’]

Dane z pliku kopiujemy i wklejamy do pustego arkusza Excela. Następnie rozdzielamy je, tak by w jednej kolumnie było id pracownika, a w drugiej odpowiadająca mu wartość premii.

Następnie w kolejnej kolumnie wpisujemy formułkę postaci: =”update pracownicy set premia=”&B1&” where id_prac=”&A1&”;” (zakładając, że wartość premii mamy w kolumnie B, a id pracowników w A). Teraz wystarczy przeciągnąć formułkę na pozostałe pola (lub kliknąć dwa razy na mały czarny kwadrat w prawym dolnym rogu zaznaczonej komórki) i reszta poleceń wygeneruje się automatycznie.

Jedyne co nam pozostaje to przekopiować otrzymane zapytania do SQL Developera i uruchomić je. Pamiętajmy o zatwierdzeniu transakcji (po ostatnim zapytaniu dopisać commit lub kliknąć w odpowiednią ikonkę powyżej okna edytora; domyślnie F11).

W ten sposób możemy wygenerować właściwie dowolną liczbę kwerend.

[/spoiler]

Alexandretta

Kobieta gracz. Po godzinach pracy, z zapałem i piekielnymi ognikami w oczach biega po lochach i tłucze bogu ducha winne zombie czy inne szkielety. Miłośniczka wszelkiej maści cRPG. Notoryczne problemy z wyborem klasy i rasy, bo wszystko fajne... W chwilach zwątpienia zatraca się przy dźwiękach mieczy, roztrzaskiwanych tarcz i okrzyków bojowych, słuchając wiking metalu z zimnej, niegościnnej, odległej Skandynawii. Czasem zdarzy jej się pograć w jakąś strategię bądź nawet w FPP, ale tylko na easy, żeby nie psuć sobie niepotrzebnie nerwów.

Related Articles

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

Back to top button