0Pricing
Supabase Backend as a Service · Lekcja

Funkcje i wyzwalacze bazy danych

Hermetyzuj logikę w funkcjach Postgres i automatyzuj reakcje na zmiany danych za pomocą wyzwalaczy, dostępnych bezpośrednio z Supabase.

Funkcje i wyzwalacze bazy danych to bezpłatna lekcja Supabase Backend as a Service na CoddyKit. To lekcja 3 z 3. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Supabase Backend as a Service, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Supabase Backend as a Service zawiera 3 lekcji w sumie.

Części tej lekcji nie zostały jeszcze przetłumaczone i są wyświetlane po angielsku.

Logic Inside the Database

Postgres lets you store reusable logic as functions and run code automatically on data changes with triggers. This keeps critical rules close to the data.

What Is a Database Function?

A function is named, reusable SQL or PL/pgSQL that returns a value. You can call it from queries or from the Supabase client via RPC.

Writing a Simple Function

This function returns the count of active users.

create or replace function active_user_count()
returns integer
language sql
as 'select count(*)::int from users where active';

Calling It from Supabase

Use rpc to invoke a database function from the client.

const { data, error } = await supabase
  .rpc('active_user_count');
console.log(data);

Functions With Parameters

Functions can accept arguments, enabling parameterized server-side logic.

create or replace function posts_by(author_id bigint)
returns setof posts
language sql
as 'select * from posts where user_id = author_id';

What Is a Trigger?

A trigger runs a function automatically BEFORE or AFTER an INSERT, UPDATE, or DELETE on a table.

A Trigger Function

Trigger functions return trigger and access the new row via NEW.

create or replace function set_updated_at()
returns trigger
language plpgsql
as 'begin new.updated_at = now(); return new; end;';

Attaching the Trigger

Bind the function to a table and event.

create trigger touch_updated
before update on posts
for each row
execute function set_updated_at();

Common Use Cases

Triggers shine for:

  • Auto-setting timestamps
  • Maintaining denormalized counts
  • Writing audit log rows
  • Creating a profile row when a user signs up

Keep Triggers Lightweight

Triggers run inside the transaction, so heavy work slows every write. Offload long tasks to Edge Functions or queues instead.

function isLightweight(ms) { return ms < 10; }
console.log(isLightweight(4));

Putting It Together

Use functions for reusable, callable logic and triggers for automatic reactions to changes, while keeping trigger work small and fast.

Quick Check

Test your understanding of functions and triggers.

Recap

You learned to write callable database functions, invoke them with rpc, and automate logic with triggers using NEW, while keeping trigger work lightweight.

Często zadawane pytania

Czy lekcja „Funkcje i wyzwalacze bazy danych” jest bezpłatna?

Tak — pełny tekst „Funkcje i wyzwalacze bazy danych” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Supabase Backend as a Service, przejdź na CoddyKit PRO. Kurs Supabase Backend as a Service zawiera 3 lekcji w sumie.

Co nauczysz się w „Funkcje i wyzwalacze bazy danych”?

Hermetyzuj logikę w funkcjach Postgres i automatyzuj reakcje na zmiany danych za pomocą wyzwalaczy, dostępnych bezpośrednio z Supabase. Ćwiczysz Supabase Backend as a Service z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Supabase Backend as a Service?

Nie wymagamy żadnego doświadczenia. Supabase Backend as a Service w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 3.

Ile czasu zajmuje lekcja „Funkcje i wyzwalacze bazy danych”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Supabase Backend as a Service?

Tak. Każda lekcja Supabase Backend as a Service zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Zaawansowane zapytania SQL i złączenia
  2. Indeksowanie bazy danych pod kątem wydajności
  3. Funkcje i wyzwalacze bazy danych
← Powrót do Supabase Backend as a Service