Skip site navigation (1) Skip section navigation (2)

Re: Reglas/Triggers

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: "Gauto Miguel A(dot)" <mgauto(at)yahoo(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Reglas/Triggers
Date: 2006-10-20 14:42:20
Message-ID: 20061020144220.GC6718@alvh.no-ip.org (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Gauto Miguel A. escribió:
> Amigos:
> He visto que el Postgres es muy similar al
> Ingres(ancestro) por lo que he buscado lo siguiente:
> 
> 1) apagar todas las reglas a la vez, y
> 2) apagar una regla en partigular.

No se puede.

> Alguien podría decirme como hago esto?
> 
> Otra cosa, en Ingres no existen los triggers, sólo
> existen las reglas y los procedimientos:
> 
> 1) se definen por separado, primero se define el
> procedimiento que se ejecutará por un evento en la
> tabla(insert,delete,update), y 

Hmm, esto lo haces con CREATE FUNCTION

> 2) luego se define la regla, que puede tener inclusive
> where por columnas específicas.

Esto es un CREATE TRIGGER.

> Ahora bien, tengo entendido que el Postgres tiene
> reglas y triggers, lastimosamente mi ingles es muy
> limitado y no logro entender bien cual es la
> diferencia entre triggers y reglas. Alguien me podría
> explicar?

La diferencia es que no tienen nada que ver :-)  No tengo tiempo ahora
de explicarlo detallado, pero lo que hace una regla es convertir tu
consulta en una consulta distinta.  Es un lenguaje de macros, como una
macro en C por ejemplo.  En un trigger tu simplemente le dices al
sistema que cuando pase tal cosa (e.g. insertes un registro), entonces
haga tal otra (ejecute tal funcion).

-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

pgsql-es-ayuda by date

Next:From: Linder PoclabaDate: 2006-10-20 17:14:51
Subject: Ayuda a interpretar resultado EXPLAIN ANALYZE
Previous:From: Gauto Miguel A.Date: 2006-10-20 14:35:09
Subject: Reglas/Triggers

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group