IT Język zapytań

PL/SQL

Definicja #

PL/SQL (Procedural Language / Structured Query Language) to proceduralne rozszerzenie języka SQL opracowane przez Oracle Corporation. Umożliwia pisanie złożonej logiki biznesowej bezpośrednio po stronie bazy danych przy użyciu zmiennych, pętli i instrukcji warunkowych.

Kluczowe elementy PL/SQL:

  • Bloki PL/SQL — podstawowa jednostka kodu: sekcje DECLARE, BEGIN, EXCEPTION, END
  • Procedury składowane (Stored Procedures) — wielokrotnie używalne jednostki kodu wykonywane po stronie bazy
  • Funkcje (Functions) — jak procedury, ale zwracają wartość; mogą być wywoływane w SQL
  • Trigery (Triggers) — automatycznie wykonywany kod po INSERT, UPDATE, DELETE lub zdarzeniach DDL
  • Pakiety (Packages) — grupowanie powiązanych procedur, funkcji i zmiennych w moduły
  • Kursory (Cursors) — iteracja po wynikach zapytań SQL w kodzie PL/SQL
  • Obsługa wyjątków — sekcja EXCEPTION do przechwytywania błędów bazodanowych

PL/SQL jest ściśle powiązany z bazą danych Oracle Database. Analogiczne rozszerzenia proceduralne w innych systemach to T-SQL (Microsoft SQL Server) i PL/pgSQL (PostgreSQL).

Zastosowania #

PL/SQL stosuje się do:

  • Implementacji logiki biznesowej bezpośrednio w bazie danych Oracle — walidacje, kalkulacje, transformacje danych
  • Tworzenia procedur ETL i migracji danych w środowiskach Oracle
  • Automatyzacji zadań administracyjnych bazy danych przez trigery i scheduled jobs (DBMS_SCHEDULER)
  • Budowy warstwy dostępu do danych w systemach ERP opartych na Oracle (Oracle E-Business Suite)
  • Raportowania i generowania dokumentów bezpośrednio z bazy danych Oracle

Ścieżka nauki #

Nauka PL/SQL wymaga wcześniejszej znajomości SQL — szczególnie zapytań SELECT, JOIN, GROUP BY, a także podstawowego rozumienia relacyjnych baz danych.

Zacznij od:

  • Podstawowa składnia bloku PL/SQL: DECLARE, BEGIN, END
  • Typy danych PL/SQL: VARCHAR2, NUMBER, DATE, BOOLEAN, %TYPE, %ROWTYPE
  • Instrukcje sterujące: IF-THEN-ELSIF-ELSE, CASE, pętle FOR, WHILE, LOOP
  • Obsługa wyjątków: EXCEPTION, WHEN OTHERS, RAISE_APPLICATION_ERROR

Następnie poznaj:

  • Procedury i funkcje — tworzenie, parametry IN/OUT/IN OUT, overloading
  • Kursory explicite i implicite — iteracja po zbiorach wyników
  • Pakiety (Packages) — specyfikacja i ciało pakietu, zmienne publiczne i prywatne
  • Trigery — BEFORE/AFTER, na poziomie wiersza (FOR EACH ROW) i instrukcji

FAQ #

Czym różni się PL/SQL od T-SQL?
PL/SQL to rozszerzenie proceduralne SQL dla Oracle Database. T-SQL (Transact-SQL) to analogiczne rozszerzenie Microsoftu dla SQL Server. Oba rozwiązują ten sam problem — dodają logikę proceduralną do SQL — ale mają różną składnię i są niekompatybilne ze sobą.
Czy PL/SQL jest nadal popularny?
Tak, w środowiskach Oracle. Wiele dużych korporacji (banki, ubezpieczyciele, telekomy) używa Oracle Database od lat 90. i ma ogromne bazy kodu PL/SQL. Migracja jest kosztowna, więc programiści PL/SQL są nadal poszukiwani, choć rynek nowych projektów jest mniejszy.
Ile zarabia PL/SQL Developer w Polsce?
PL/SQL Developer z doświadczeniem 3–5 lat zarabia w Polsce od 10 000 do 18 000 zł brutto. Senior ze znajomością Oracle Database Administration, performance tuning i dużymi projektami migracyjnymi może zarabiać 18 000–28 000 zł.
Jak uruchamiać i testować kod PL/SQL?
Oracle SQL Developer (darmowe IDE od Oracle) jest standardowym narzędziem. Alternatywnie: Toad for Oracle, DBeaver (multi-DB), SQL*Plus (CLI). Oracle oferuje też Oracle Live SQL — środowisko online do nauki i testowania PL/SQL bez instalacji.
Ostatnia aktualizacja:

Powiązane hasła

Technologie i biblioteki, które najczęściej pojawiają się razem z PL/SQL w ogłoszeniach.

Cały słownik IT

Przeglądaj słownik IT alfabetycznie

Wybierz literę, aby zobaczyć wszystkie hasła zaczynające się od niej.