INF.03 · Temat 21 Skrypty, procedury, funkcje SQL

⚙️ Skrypty batch, procedury i funkcje — interaktywnie

W tej lekcji napiszesz skrypty SQL, zdefiniujesz procedury i funkcje składowane, a potem zobaczysz efekty na przykładowych tabelach — tak jak robi to administrator bazy danych.

Twój postęp
0 XP
Poziom 1 / 400 XP
📜Batch
🧩Procedury
🧮Funkcje
⚙️Automatyzacja
🏁INF.03
1 · Skrypt batch

Budowa bazy szkolna jednym skryptem

+60 XP

Napisz skrypt, który tworzy bazę szkolna, tabelę uczniowie z ograniczeniem CHECK, wstawia 2 rekordy i nadaje uprawnienia odczytu użytkownikowi praktykant.

Twój skrypt SQL
Wskazówki: użyj CREATE DATABASE, USE, CREATE TABLE z CHECK, INSERT oraz GRANT SELECT dla użytkownika praktykant.
Symulator wykonania
Log działań
-- oczekuję na poprawny skrypt batch...
Tabela: uczniowie
idimienazwiskorocznik
2 · Procedura

Automatyczna promocja rocznika

+80 XP

Zdefiniuj procedurę PromoteRocznik(), która podnosi rocznik wszystkich uczniów o 1 i dopisuje wpis do tabeli logi. Następnie wywołaj ją poleceniem CALL PromoteRocznik();.

Twój SQL
Pamiętaj o zmianie DELIMITER, bloku BEGIN ... END i wywołaniu CALL.
Dane po promocji
Tabela: uczniowie
idimienazwiskorocznik
Tabela: logi
idopis
3 · Funkcja

Funkcja WiekUcznia

+80 XP

Utwórz funkcję WiekUcznia(rok INT), która zwraca wiek ucznia na podstawie rocznika, a następnie użyj jej w zapytaniu SELECT, aby wyświetlić imię, nazwisko i wyliczony wiek.

Twój SQL
Wynik SELECT
Lista uczniów z wiekiem
imienazwiskowiek
4 · Procedura + log

Procedura DodajLog

+60 XP

Stwórz tabelę logi oraz procedurę DodajLog(IN opis_txt VARCHAR(100)), która dopisuje wpis o dowolnej treści, a następnie wywołaj ją kilka razy.

Twój SQL
Zadbaj o AUTO_INCREMENT i domyślną datę w tabeli logi.
Aktualne logi
Tabela: logi
idopis
5 · Funkcja tekstowa

Funkcja PelnyTekst

+80 XP

Dodaj funkcję PelnyTekst(imie_txt, nazwisko_txt), która zwraca pełne imię i nazwisko ucznia, a następnie użyj jej w zapytaniu, aby wyświetlić listę uczniów w postaci „Imię Nazwisko”.

Twój SQL
Lista uczniów
Kolumna: uczen
uczen
6 · Zadanie INF.03

System rekrutacji — skrypt projektowy

+100 XP

Przygotuj skrypt SQL, który tworzy bazę rekrutacja z tabelami kandydaci, kierunki, podania, a także procedurę DodajPodanie i funkcję OpisPodania, zwracającą tekst „Imię Nazwisko — Kierunek”.

Twój skrypt (wersja INF.03)
7 · Quiz

Sprawdź wiedzę!

5 pytań · 20 XP każde
  1. Co to jest skrypt batch w SQL i kiedy go używamy?
  2. Jak zdefiniować procedurę składowaną w MySQL?
  3. Czym różni się procedura od funkcji składowanej?
  4. Po co zmienia się DELIMITER przy tworzeniu procedur/funkcji?
  5. Jak wywołać procedurę oraz jak użyć funkcji w zapytaniu SELECT?
Spróbuj odpowiedzieć samodzielnie, a potem porównaj z materiałem z teorii.
8 · Checklista

Umiesz to zrobić?

  • Tworzę skrypty batch do budowy i inicjalizacji bazy danych.
  • Definiuję procedury składowane z parametrami i potrafię je wywołać.
  • Tworzę funkcje składowane i wykorzystuję je w zapytaniach SELECT.
  • Potrafię zamienić opis zadania INF.03 na strukturę bazy i skrypty SQL.