Fungsi dan Pemicu Basis Data
Bungkus logika dalam fungsi Postgres dan otomatisasikan reaksi terhadap perubahan data dengan pemicu, yang semuanya dapat dipanggil dari Supabase.
Fungsi dan Pemicu Basis Data adalah pelajaran Supabase Backend as a Service gratis di CoddyKit. Ini adalah pelajaran 3 dari 3. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Supabase Backend as a Service, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Supabase Backend as a Service mencakup 3 pelajaran total.
Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.
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.
Belajar Supabase Backend as a Service dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 11
- Pelajaran
- 40
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Fungsi dan Pemicu Basis Data” gratis?
Ya — teks lengkap “Fungsi dan Pemicu Basis Data” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Supabase Backend as a Service, upgrade ke CoddyKit PRO. Kursus Supabase Backend as a Service mencakup 3 pelajaran total.
Apa yang akan aku pelajari di “Fungsi dan Pemicu Basis Data”?
Bungkus logika dalam fungsi Postgres dan otomatisasikan reaksi terhadap perubahan data dengan pemicu, yang semuanya dapat dipanggil dari Supabase. Kamu berlatih Supabase Backend as a Service dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Supabase Backend as a Service?
Tidak diperlukan pengalaman sebelumnya. Supabase Backend as a Service di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 3.
Berapa lama pelajaran “Fungsi dan Pemicu Basis Data” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Supabase Backend as a Service ini?
Ya. Setiap pelajaran Supabase Backend as a Service menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Kueri dan Penggabungan SQL Lanjutan
- Pengindeksan Basis Data untuk Kinerja
- Fungsi dan Pemicu Basis Data