ฟังก์ชันฐานข้อมูลและทริกเกอร์
ห่อหุ้มตรรกะไว้ในฟังก์ชัน Postgres และทำให้การตอบสนองต่อการเปลี่ยนแปลงข้อมูลเป็นไปโดยอัตโนมัติด้วยทริกเกอร์ ซึ่งทั้งหมดสามารถเรียกใช้จาก Supabase ได้
ฟังก์ชันฐานข้อมูลและทริกเกอร์ เป็นบทเรียน Supabase Backend as a Service ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 3 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Supabase Backend as a Service และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Supabase Backend as a Service มีบทเรียนทั้งหมด 3 บทเรียน
บางส่วนของบทเรียนนี้ยังไม่ได้รับการแปล และแสดงเป็นภาษาอังกฤษ
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.
คำถามที่พบบ่อย
บทเรียน “ฟังก์ชันฐานข้อมูลและทริกเกอร์” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ฟังก์ชันฐานข้อมูลและทริกเกอร์” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Supabase Backend as a Service ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Supabase Backend as a Service มีบทเรียนทั้งหมด 3 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ฟังก์ชันฐานข้อมูลและทริกเกอร์”
ห่อหุ้มตรรกะไว้ในฟังก์ชัน Postgres และทำให้การตอบสนองต่อการเปลี่ยนแปลงข้อมูลเป็นไปโดยอัตโนมัติด้วยทริกเกอร์ ซึ่งทั้งหมดสามารถเรียกใช้จาก Supabase ได้ คุณปฏิบัติ Supabase Backend as a Service ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Supabase Backend as a Service หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Supabase Backend as a Service บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 3 บทเรียน
บทเรียน “ฟังก์ชันฐานข้อมูลและทริกเกอร์” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Supabase Backend as a Service นี้ได้ไหม
ได้ บทเรียน Supabase Backend as a Service ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การสืบค้น SQL ขั้นสูงและการเชื่อมตาราง
- การทำดัชนีฐานข้อมูลเพื่อประสิทธิภาพ
- ฟังก์ชันฐานข้อมูลและทริกเกอร์