Home > Fragmenty szkoleń > SQL w języku PL/pgSQL: Elastyczność w PostgreSQL

SQL w języku PL/pgSQL: Elastyczność w PostgreSQL

PostgreSQL, znany jest z zaawansowanych funkcji i elastyczności. Oferuje język programowania PL/pgSQL, który integruje SQL z elementami proceduralnymi. Dzięki integracji SQL w języku PL/pgSQL, programiści mają dostęp do narzędzi do tworzenia funkcji składowanych, procedur oraz wyzwalaczy, co zwiększa możliwości zarządzania danymi w bazie PostgreSQL.

Podstawy SQL w PL/pgSQL

Zapytania SELECT

Podstawowym elementem SQL w PL/pgSQL jest możliwość wykonywania zapytań SELECT, umożliwiających pobieranie danych z bazy. Przykładowe zapytanie SELECT:

DECLARE
  imie VARCHAR(50);
BEGIN
  SELECT first_name INTO imie FROM employees WHERE employee_id = 1;
  -- Teraz zmienna 'imie' zawiera imię pracownika o ID 1
END;

Dodawanie i aktualizacja danych

Instrukcje SQL do dodawania i aktualizacji danych są kluczowe w każdym języku programowania bazodanowego. W PL/pgSQL można używać poniższych konstrukcji:

Dodawanie nowego rekordu:

DECLARE
  nowy_pracownik employees%ROWTYPE;
BEGIN
  nowy_pracownik.first_name := 'Jan';
  nowy_pracownik.last_name := 'Nowak';
  INSERT INTO employees VALUES nowy_pracownik;
END;

Aktualizacja danych:

DECLARE
  nowe_imie VARCHAR(50);
BEGIN
  nowe_imie := 'NoweImie';
  UPDATE employees SET first_name = nowe_imie WHERE employee_id = 1;
END;

Usuwanie danych

Usuwanie danych również jest często wykorzystywane w aplikacjach bazodanowych. W PL/pgSQL można używać poniższego kodu:

DECLARE
  id_do_usuniecia INT;
BEGIN
  id_do_usuniecia := 1;
  DELETE FROM employees WHERE employee_id = id_do_usuniecia;
END;

Procedury składowane a SQL

Jednym z najważniejszych zastosowań SQL w PL/pgSQL jest tworzenie procedur składowanych. Procedury te zawierają zarówno standardowe zapytania SQL, jak i bardziej zaawansowane operacje proceduralne. Poniżej znajduje się przykład prostego proceduralnego zastosowania SQL w PL/pgSQL:

CREATE OR REPLACE FUNCTION zwieksz_pensje(employee_id INT, podwyzka DECIMAL) RETURNS VOID AS $$
BEGIN
  UPDATE employees SET salary = salary + podwyzka WHERE employee_id = employee_id;
END;
$$ LANGUAGE plpgsql;

W powyższym przykładzie procedura składowana zwieksz_pensje przyjmuje dwie wartości: employee_id i podwyzka. Następnie, za pomocą zapytania UPDATE, aktualizuje pensję pracownika o określonym ID.

Podumowanie

SQL w języku PL/pgSQL wzbogaca możliwości programistyczne PostgreSQL, umożliwiając bardziej zaawansowane operacje bazodanowe. Opanowanie tych technik pozwala na tworzenie bardziej elastycznych i efektywnych funkcji składowanych oraz procedur, co jest kluczowe w większych projektach bazodanowych. Zintegrowanie SQL z elementami proceduralnymi PL/pgSQL stanowi elastyczne narzędzie dla programistów i administratorów baz danych.

Po więcej informacji zapraszamy na szkolenia.

Dokumentacja PostgreSQL

Może Cię również zainteresować: