// Skrypty SQL, procedury składowane, funkcje
Automatyzacja powtarzalnych zadań na serwerze bazy danych — fundament egzaminu INF.03.
// SKRYPT BATCH
Plik .sql zawierający wiele poleceń wykonywanych sekwencyjnie. Tworzysz bazę, tabele, wstawiasz dane i nadajesz uprawnienia — jednym uruchomieniem.
// PROCEDURA SKŁADOWANA
Nazwany blok poleceń przechowywany na serwerze. Wywołujesz przez CALL. Może mieć parametry wejściowe (IN) i wyjściowe (OUT).
// FUNKCJA SKŁADOWANA
Podobna do procedury, ale zawsze zwraca wartość przez RETURN. Możesz jej użyć bezpośrednio w SELECT, tak jak wbudowanych funkcji SQL.
| Cecha | Skrypt BATCH | PROCEDURA | FUNKCJA |
|---|---|---|---|
| Przechowywanie na serwerze | NIE — plik zewnętrzny | TAK | TAK |
| Zwraca wartość | – | Opcjonalnie (OUT) | Zawsze (RETURN) |
| Wywołanie | Uruchomienie pliku | CALL nazwa() | SELECT nazwa() |
| Użycie w SELECT | NIE | NIE | TAK |
| DELIMITER potrzebny | NIE | TAK | TAK |
// PRZYKŁAD — Skrypt batch
// PRZYKŁAD — Procedura składowana
// PRZYKŁAD — Funkcja składowana
// Ćwiczenia SQL
Napisz podane polecenia. Sprawdzanie bazuje na kluczowych słowach i konstrukcjach.
USE), tworzy tabelę uczniowie z kolumnami id (PK AUTO_INCREMENT), imie VARCHAR(30), rocznik INT z CHECK (>=2000).
YEAR(CURDATE())) a parametrem.
// Demo — Budujemy procedurę krok po kroku
Kliknij kolejne kroki i obserwuj jak rośnie kod procedury i co zwraca na serwerze.
// PROCEDURA PromoteRocznik — 5 kroków
// Dlaczego potrzebujemy DELIMITER?
MySQL domyślnie traktuje każdy ; jako koniec polecenia. W procedurach to problem — kliknij i zobacz dlaczego.
// WIZUALIZACJA — jak serwer widzi polecenia
// WAŻNE — składnia DELIMITER w MySQL Workbench vs phpMyAdmin
| Środowisko | DELIMITER potrzebny? | Uwagi |
|---|---|---|
| MySQL CLI / terminal | TAK — obowiązkowy | Wpisuj DELIMITER $$ ręcznie |
| MySQL Workbench | TAK — obowiązkowy | Identycznie jak CLI |
| phpMyAdmin | Opcjonalny | phpMyAdmin sam parsuje BEGIN...END |
| Skrypt .sql (batch) | TAK — obowiązkowy | Bez niego skrypt zatrzyma się w połowie |
// Quiz końcowy
5 pytań z zakresu skryptów, procedur i funkcji SQL. Każde +20 XP.
// LEKCJA UKOŃCZONA
Temat 21 — Skrypty SQL · Procedury · Funkcje
z możliwych 540 XP
// CHECKLISTA UMIEJĘTNOŚCI