RE: Use a rule or a transaction - Mailing list pgsql-sql

From Madel, Kurt
Subject RE: Use a rule or a transaction
Date
Msg-id C6F9B91B745CD4119F1500A0C9DD60C02E348F@exchhq01.usinspect.com
Whole thread Raw
In response to Use a rule or a transaction  ("Madel, Kurt" <KMadel@USInspect.com>)
Responses RE: Use a rule or a transaction  (Jesus Aneiros <aneiros@jagua.cfg.sld.cu>)
Re: Use a rule or a transaction  (Antoine Reid <antoiner@hansonpublications.com>)
List pgsql-sql
Hello Antoine,

I thought that triggers only worked for one table at a time.  In this case,
I want the class.size incremented and checked for maxsize when I perform an
update or insert on the module table.  I was under the impression that a
trigger would only work if I was performing an insert or update on the same
table that I wanted the trigger to act on.

Please let me know if I am way off in regards to triggers.

thanks,
Kurt

-----Original Message-----
From: Antoine Reid [mailto:antoiner@hansonpublications.com]
Sent: Tuesday, August 15, 2000 2:43 PM
To: Madel, Kurt
Cc: pgsql-sql@postgresql.org
Subject: Re: [SQL] Use a rule or a transaction


On Tue, Aug 15, 2000 at 01:57:17PM -0400, Madel, Kurt wrote:
> Hello,
> 
> I am creating a web based (using php) class registration database with
three
> tables directly effected by the registration process:

[snip]

> My question is, would it be better (faster) to use rules or to use a
> transaction.

How about using triggers?  I have used pl/pgsql triggers in the past to do
similar things.  I was not checking a maximum but definitely was keeping a
reference count.  What you want is a trigger that increments on insert,
decrement on delete, and on update, IF the id changed, decrement the old
one, increment the new one..  I suspect you could also have another trigger,
on update on class, that would abort the transaction if class.size ever
becomes bigger than maxsize..

I can't really comment on performance though.....

> Is there a faster way to do this with rules or a better way to do it
> otherwise.
> 
> TIF,
> Kurt

Hope it helps
Antoine

-- o          Antoine Reid             o>    Alcohol and calculus   <o>
<|> antoiner@hansonpublications.com <|    don't mix. Never drink   |>\    antoiner@edmarketing.com      >\         and
derive.      /<
 


pgsql-sql by date:

Previous
From: "Adam Lang"
Date:
Subject: Re: copy from
Next
From: Jie Liang
Date:
Subject: % escape