> create function updateCat() returns opaque as '
> declare
>     rec     record;
>     rename new to cat;
>     rename old to ct;
>     maxlen integer;
> 
> begin
>      if tg_op = ''INSERT''  and cat.category is null then
>           raise exception ''You are missing entry for category field'';
> 
>      else
>           if cat.display then
>                maxlen:= addCount(cat.category);
>                return cat;
>           else
>                return cat;
>           end if;
>      end if;
>      if tg_op = ''DELETE''then
>           maxlen:= delCount(ct.category);
>           return ct;
>      end if;
> 
> end;
> ' language 'plpgsql';

I think you want your if blocks to be more like:
if tg_op = ''INSERT''
 if cat.category is null
  (raise exception)
 else
  (do insert stuff)
 end if
end if
if tg_op = ''DELETE''
 (do delete stuff)
end if

I think you're currently going to get into the 
insert stuff on both inserts where it isn't
null and deletes (since in both cases the
and will be false).



---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/users-lounge/docs/faq.html

Reply via email to