0Pricing
Supabase Backend as a Service · درس

وظائف قاعدة البيانات والمشغلات

غلّف المنطق داخل وظائف Postgres، وأتمت الاستجابات لتغييرات البيانات باستخدام المشغلات، مع إمكانية استدعائها جميعًا من Supabase.

وظائف قاعدة البيانات والمشغلات درس مجاني في Supabase Backend as a Service على CoddyKit. هذا هو الدرس 3 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 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.

الأسئلة الشائعة

هل درس «وظائف قاعدة البيانات والمشغلات» مجاني؟

نعم — نص درس «وظائف قاعدة البيانات والمشغلات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Supabase Backend as a Service، انتقل إلى CoddyKit PRO. تتضمن دورة Supabase Backend as a Service 3 دروس في المجموع.

ماذا ستتعلم في «وظائف قاعدة البيانات والمشغلات»؟

غلّف المنطق داخل وظائف Postgres، وأتمت الاستجابات لتغييرات البيانات باستخدام المشغلات، مع إمكانية استدعائها جميعًا من Supabase. تتمرن على Supabase Backend as a Service مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 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 يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. استعلامات SQL وعمليات الربط المتقدمة
  2. فهرسة قواعد البيانات لتحسين الأداء
  3. وظائف قاعدة البيانات والمشغلات
← العودة إلى Supabase Backend as a Service