Procedury składowane: Tworzenie i wywoływanie

Procedury składowane w MySQL to zapytania SQL zapisane w bazie danych, które można wywoływać wielokrotnie. Dzięki nim możemy zdefiniować logikę aplikacji, zoptymalizować wykonywanie operacji oraz zwiększyć bezpieczeństwo aplikacji. W tym artykule przedstawimy, jak tworzyć i wywoływać procedury składowane w MySQL.

📌 Podstawowa składnia tworzenia procedury składowanej

✅ Podstawowa składnia - opis

  • CREATE PROCEDURE: Służy do tworzenia nowej procedury.
  • nazwa_procedury(): Określa nazwę procedury oraz jej parametry (jeśli są wymagane).
  • BEGIN ... END: Definiuje blok kodu, który będzie wykonywany przez procedurę.
  • DELIMITER ;: Przywraca domyślny separator komend po zakończeniu tworzenia procedury.
Przykład
DELIMITER $$

CREATE PROCEDURE pokaz_uzytkownikow()
BEGIN
    SELECT id, username, email FROM users;
END $$

DELIMITER ;

📌 Wywoływanie procedury składowanej

✅ Podstawowa składnia - opis

  • Komenda CALL służy do wywołania wcześniej zdefiniowanej procedury składowanej.
Przykład
-- Podstawowa składnia
CALL nazwa_procedury();

-- Przykład: Wywołanie procedury pokaz_uzytkownikow
CALL pokaz_uzytkownikow();

📌 Procedura składowana z parametrami

✅ Podstawowa składnia z parametrami

  • Możemy przekazać parametry do procedury, które będą używane w zapytaniu SQL wewnątrz procedury.
Przykład
-- Podstawowa składnia
DELIMITER $$

CREATE PROCEDURE nazwa_procedury(parametr1 INT)
BEGIN
    SELECT * FROM tabela WHERE id = parametr1;
END $$

DELIMITER ;

-- Przykład: Procedura z parametrem id
DELIMITER $$

CREATE PROCEDURE pokaz_uzytkownika(IN user_id INT)
BEGIN
    SELECT * FROM users WHERE id = user_id;
END $$

DELIMITER ;

📌 Wywołanie procedury składowanej z parametrami

✅ Podstawowa składnia wywołania procedury z parametrami:

  • To zapytanie wywołuje procedurę pokaz_uzytkownika z parametrem 1, zwracając dane użytkownika o id równym 1.
Przykład
-- Podstawowa składnia wywołania procedury z parametrami:
CALL nazwa_procedury(parametr1);

-- Przykład wywołania procedury z parametrem user_id:
CALL pokaz_uzytkownika(1);

Podsumowanie

  • Procedury składowane w MySQL umożliwiają zapisanie zapytań SQL w bazie, które mogą być wielokrotnie wywoływane, co pozwala na oszczędność czasu i zasobów.
  • Procedury są definiowane za pomocą komendy CREATE PROCEDURE i mogą przyjmować parametry, które ułatwiają dynamiczne wykonywanie zapytań.
  • Do wywoływania procedury służy komenda CALL.
  • Procedury składowane pomagają w organizowaniu kodu SQL, sprawiają, że zapytania są bardziej zorganizowane i łatwiejsze do zarządzania.