Funciones y triggers de la base de datos
Encapsule la lógica en funciones de Postgres y automatice las reacciones a los cambios de datos con triggers, todo ello invocable desde Supabase.
Funciones y triggers de la base de datos es una lección gratuita de Supabase Backend as a Service en CoddyKit. Esta es la lección 3 de 3. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Supabase Backend as a Service, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Supabase Backend as a Service incluye 3 lecciones en total.
Partes de esta lección aún no han sido traducidas y se muestran en inglés.
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.
Preguntas frecuentes
¿La lección «Funciones y triggers de la base de datos» es gratis?
Sí — el texto completo de «Funciones y triggers de la base de datos» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Supabase Backend as a Service, actualiza a CoddyKit PRO. El curso de Supabase Backend as a Service incluye 3 lecciones en total.
¿Qué aprenderé en «Funciones y triggers de la base de datos»?
Encapsule la lógica en funciones de Postgres y automatice las reacciones a los cambios de datos con triggers, todo ello invocable desde Supabase. Practicas Supabase Backend as a Service con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Supabase Backend as a Service?
No se requiere experiencia previa. Supabase Backend as a Service en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 3.
¿Cuánto tiempo toma la lección «Funciones y triggers de la base de datos»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Supabase Backend as a Service?
Sí. Cada lección de Supabase Backend as a Service incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Consultas SQL y joins avanzados
- Indexación de bases de datos para mejorar el rendimiento
- Funciones y triggers de la base de datos